我有一个看起来像的查询
SELECT ju.name,
COUNT(DISTINCT p.value) AS nproblems
FROM #problems p
JOIN <thing> ju ON <whatever>
WHERE <condition 1>
AND <condition 2>
AND <condition 3>
GROUP BY ju.name
ORDER BY nproblems DESC
这很好,并给了我一个包含名称和值的结果集。但我真正关心的是没有 WHERE 子句的问题数量,然后只有条件 1,然后是条件 1+2,然后是条件 1+2+3。我想写
SELECT ju.name,
COUNT(DISTINCT p.value WHERE <condition 1>) foo,
COUNT(DISTINCT p.value WHERE <condition 2>) bar,
...
但遗憾的是我不能。有这样做的好方法吗?