postgreSQL計算總數sum if case when


假設postgreSQL中表名為user,現在需要計算每個用戶參加過的次數(is_join字段為null時不算,表中的null並不是字符串''或者字符串'Null' ,而是數據庫中的null類型)

user_name join_time
finding YES
fidding YES
fidding Null
hong YES
hong YES

所以我們只需要對name分組並計算join_time不為null的個數,sql語句如下

SELECT name, SUM(CASE WHEN is_join is null THEN 0 ELSE 1 END) AS count FROM "user" GROUP BY name;
SQL

得到結果

name count
fidding 2
hong 2

其實,直接使用count也能得出結果,在此只是展示sum case用法而已

Happy coding!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM