我有这样的东西:
SELECT cars.brand, cars.id FROM cars WHERE cars.brand = 4 LIMIT 1;
SELECT cars.brand, cars.id FROM cars WHERE cars.brand = 24 LIMIT 1;
SELECT cars.brand, cars.id FROM cars WHERE cars.brand = 29 LIMIT 1;
如果有更多查询,它会很长。 如何以另一种方式,在一行中做到这一点?但对我来说重要的是速度。 cars.brand = X AND LIMIT X 是一个变量,因此它可能会改变。
最佳答案
您担心必须一一发送这么多查询,这样会花费很多时间。您可以改为进行以下一个查询:
SELECT cars.brand, cars.id FROM cars WHERE cars.brand = 4 LIMIT 1
UNION ALL
SELECT cars.brand, cars.id FROM cars WHERE cars.brand = 24 LIMIT 1
UNION ALL
SELECT cars.brand, cars.id FROM cars WHERE cars.brand = 29 LIMIT 1;
关于mysql - 如何在一个查询中使 SQL 查询更干净、更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26480139/