我有一個查詢,看起來像SQL查詢計數結果的數量,不同的條件成立
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,
...
但可惜我不能。有沒有這樣做的好方法?
+1有趣的問題:如馬哈茂德建議 - 嘗試在'SELECT'使用'CASE'條款並擺脫'WHERE' – whytheq 2013-03-19 12:13:20