这基本上就是我想要实现的目标;
SELECT
COUNT(DISTINCT No)
FROM
Table
WHERE
(Type = 1 AND COUNT(DISTINCT No) > Num)
OR (Type = 2 AND COUNT(DISTINCT No) > Num)
GROUP BY
Week
实现这一目标的最佳方法是什么?
谢谢
最佳答案
任何聚合比较都需要进入 Group By 之后的 HAVING 子句。请记住,根据非聚合条件的放置位置,您可能会得到不同的结果,因为您将通过 WHERE 聚合包含/排除的内容。
即
SELECT COUNT(DISTINCT No)
FROM Table
WHERE Type = 1
GROUP BY Week
HAVING COUNT(DISTINCT No) > Num
可能与
不同SELECT COUNT(DISTINCT No)
FROM Table
GROUP BY Week
HAVING COUNT(DISTINCT No) > Num
AND Type = 1
关于sql - WHERE 子句或 HAVING 中的 COUNT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16478368/