簡體   English   中英

sql group by where語句

[英]sql group by where statement

可以說我有這張桌子

user|group|acceptance
1   | a   | -1
2   | a   | 2
3   | b   | 1
4   | b   | 2
5   | b   | 2
6   | c   | -1

我該如何計數每個組中有多少用戶的接受程度不是-1,但仍列出計數為0的組

所以結果就像

group | count
a     | 1
b     | 3
c     | 0

謝謝您的幫助

SELECT [group], SUM(CASE acceptance WHEN -1 THEN 0 ELSE 1 END) AS [count]
FROM MyTable
GROUP BY [group]

Count(Col)不計算NULL值。 因此,在接受度<> -1處傳遞一個非null值(對於未處理的情況,默認為傳遞null)

SELECT [group], 
       COUNT(CASE WHEN acceptance <> -1 THEN 1 END) AS [count] 
FROM tbl
GROUP BY [group]

暫無
暫無

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

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