簡體   English   中英

選擇Count Where大於0 SQL Server的值

[英]Select Count Where Values greater than 0 SQL Server

我試圖弄清楚如何返回一個選擇查詢,顯示列中所有值的計數大於0.然后在下一列中顯示所有值的計數= 0。

例:

ID  ColumnA
1   1    
2   2
3   1
4   2
5   0
6   0
7   1

將返回選擇查詢的結果:

NumberOfGreaterThan0    NumberThatEqual0

5                       2

您可以通過CASE表達式為此使用條件聚合:

SELECT COUNT(CASE WHEN ColumnA > 0 THEN 1 END) AS NumberOfGreaterThan0 
      ,COUNT(CASE WHEN ColumnA = 0 THEN 1 END) AS NumberThatEqual0
FROM YourTable

這是有效的,因為聚合函數會忽略NULL值。

您可以在case表達式上使用幾個count函數:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM