目录
- 前言
- 方法一 :Count
- 方法二:sum
- 后记
前言
经常会遇到根据不同的条件统计总数的问题,一般有两种写法:count和sum都可以
数据准备:方法一 :Count
代码:
SELECT COUNT( CASE WHEN age > 20 AND age < 25 THEN 1 ELSE NULL END ) AS cnt0, COUNT( CASE WHEN age >= 25 AND age < 30 THEN 1 ELSE NULL END ) AS cnt1 FROM USER;
结果:
方法二:sum
代码:
SELECT SUM( CASE WHEN age > 20 AND age < 25 THEN 1 EjavascriptLSE 0 END ) AS cnt0, SUM( CASE WHEN age >= 25 AND age < 30 THEN 1 ELSE 0 END ) AS cnt1 FROM USER;
结果:
当然也可以和counhttp://www.devze.comt代码一样ELSE后面也写为NULL
SELECT SUM( CASE WHEN age > 20 AND age < 25 THEN 1python ELSE NULL END ) jsAS cnt0, SUM( CASE WHEN age >= 25 AND age < 30 THEN 1 ELSE NULL END ) AS cnt1 FROM USER;
后记
其实原理很简单,count统计的时候有满足条件的就加1,没有满足的变为NULL,我们知android道聚合函数统计的时候是忽略null值的;而sum原理和coun相似,不过ELSE后面可以是0或者NULL。
到此这篇关于Sql根据不同条件统计总数的文章就介绍到这了,更多相关sql统计总数内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!
精彩评论