开发者

Sql根据不同条件统计总数的方法(count和sum)

开发者 https://www.devze.com 2024-08-23 09:10 出处:网络 作者: SunnyRivers
目录前言方法一 :Count方法二:sum后记前言 经常会遇到根据不同的条件统计总数的问题,一般有两种写法:count和sum都可以数据准备:
目录
  • 前言
    • 方法一 :Count
    • 方法二:sum
  • 后记

    前言

    经常会遇到根据不同的条件统计总数的问题,一般有两种写法:count和sum都可以

    数据准备:

    Sql根据不同条件统计总数的方法(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;

    结果:

    Sql根据不同条件统计总数的方法(count和sum)

    方法二: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;

    结果:

    Sql根据不同条件统计总数的方法(count和sum)

    当然也可以和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)!

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消