在同一个sql语句中,统计不同条件的Count数量


方案一

select id, count(case when 属性 in (1,2) then 1 else 0 end) as sum1, count(case when 属性 in (3) then 1 else 0 end) as sum2, sum(case when 属性 in (4,5) then 1 else 0 end) as sum3 from 表名 group by id 

方案二

 SELECT count( * ) AS num, count(if(字段=1,true,null)) AS sum1, count(if字段=2,true,null)) AS sum2 FROM 表名 WHERE 其他条件 

当然也还有别的方法:

1、沉到业务中取处理,拆分SQL

2、抽取公用统计属性,建立冗余表

 

showtooltip


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM