如何让这个SQL查询更有效率?
SELECT
(SELECT COUNT(*) FROM table WHERE price < 10) AS priceUnder10,
(SELECT COUNT(*) FROM table WHERE price BETWEEN 10 AND 20) AS price10to20,
(SELECT COUNT(*) FROM table WHERE price > 20) AS priceOver20,
(SELECT COUNT(*) FROM table WHERE colour = 'Red') AS colourRed,
(SELECT COUNT(*) FROM table WHERE colour = 'Green') AS colourGreen,
(SELECT COUNT(*) FROM table WHERE colour = 'Blue') AS colourBlue;
我已经在 price
和 colour
列上创建了索引,所以我正在寻找更好的聚合数据的方法。
我尝试使用 GROUP BY
、HAVING
、自连接和窗口函数,但无法达到相同的结果。
非常感谢任何建议。
WHERE
? - gjbprice
甚至可能不可为空),因此可以将其删除! - Martin Smith