4
我想弄清楚如何返回顯示大於0的列中所有值的計數的選擇查詢。然後在下一列中顯示所有計數即= 0的值選擇數量大於0的數值SQL Server
實施例:
ID ColumnA
1 1
2 2
3 1
4 2
5 0
6 0
7 1
將返回的結果爲選擇查詢:
NumberOfGreaterThan0 NumberThatEqual0
5 2
我想弄清楚如何返回顯示大於0的列中所有值的計數的選擇查詢。然後在下一列中顯示所有計數即= 0的值選擇數量大於0的數值SQL Server
實施例:
ID ColumnA
1 1
2 2
3 1
4 2
5 0
6 0
7 1
將返回的結果爲選擇查詢:
NumberOfGreaterThan0 NumberThatEqual0
5 2
可以經由使用條件聚集體對本表達式:
SELECT COUNT(CASE WHEN ColumnA > 0 THEN 1 END) AS NumberOfGreaterThan0
,COUNT(CASE WHEN ColumnA = 0 THEN 1 END) AS NumberThatEqual0
FROM YourTable
這適用,因爲聚合函數忽略NULL
值。
你可以用一對夫婦的count
功能超過case
表達式:
SELECT COUNT(CASE WHEN columa > 0 THEN 1 ELSE NULL END) AS NumberOfGreaterThan0,
COUNT(CASE columa WHEN 0 THEN 1 ELSE NULL END) AS NumberThatEqual0
FROM my_table
這是夢幻般的,正是我一直在尋找。非常感激 :) – Revokez