[MySQL]group by 與 if 的統計技巧


group by查詢旨在把某字段中相同的記錄合並成一列,查詢結果可受count(),sum()等統計函數影響

如下表

id totalclick validclick
1 3 1
2 3 1
3 5 2
4 2 1
5 3 1
6 5 2

以validclick為分組,統計每個分組的記錄數,和每個分組的totalclick總和

SELECT count(`id`),sum(`totalclick`), validclick FROM diary_log GROUP BY validclick;

結果:

count(`id`) sum(`totalclick`) validclick
4 11 1
2 10 2

 

配合if,可以模擬count()統計每個分組的記錄數

SELECT count(`id`), sum(if(validclick = 1,1,0)) validclick_1,sum(if(validclick = 2,1,0)) validclick_2,validclick FROM diary_log  GROUP BY validclick;

結果:

count(`id`) validclick_1 validclick_2 validclick
4 4 0 1
2 0 2 2


免責聲明!

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



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