我试图显示不同品牌的下拉列表,而且我希望显示与WHERE语句匹配的项目数量的摘要。环顾四周,我只能找到问题的部分解决方案,而不是需要嵌套的SELECT WHERE部分......
到目前为止的进展......
SELECT brand,COUNT(DISTINCT linked_id WHERE done=0) as count FROM products GROUP BY brand ORDER BY brand;
这显然不会运行,但确实为我想要实现的目标提供了一些解决方案。
以前有人做过这样的事吗?
答案 0 :(得分:2)
你可能想要这样的东西吗?
SELECT
brand,
COUNT(DISTINCT CASE WHEN done = 0 THEN linked_id ELSE NULL END) AS count
FROM
products
GROUP BY
brand
ORDER BY
brand;
编辑删除[count]并将其重新计算。
答案 1 :(得分:2)
当过滤器为真时,您应该计算清楚。
SELECT
brand,
COUNT(DISTINCT(CASE WHEN done = 0 THEN linked_id END)) count
FROM
products
GROUP BY
brand
ORDER BY
brand