[英]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.