Sql根據(jù)不同條件統(tǒng)計總數(shù)的方法(count和sum)
前言
經(jīng)常會遇到根據(jù)不同的條件統(tǒng)計總數(shù)的問題,一般有兩種寫法:count和sum都可以
數(shù)據(jù)準備:

方法一 :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;
結(jié)果:

方法二:sum
代碼:
SELECT SUM( CASE WHEN age > 20 AND age < 25 THEN 1 ELSE 0 END ) AS cnt0, SUM( CASE WHEN age >= 25 AND age < 30 THEN 1 ELSE 0 END ) AS cnt1 FROM USER;
結(jié)果:

當(dāng)然也可以和count代碼一樣ELSE后面也寫為NULL
SELECT SUM( CASE WHEN age > 20 AND age < 25 THEN 1 ELSE NULL END ) AS cnt0, SUM( CASE WHEN age >= 25 AND age < 30 THEN 1 ELSE NULL END ) AS cnt1 FROM USER;
后記
其實原理很簡單,count統(tǒng)計的時候有滿足條件的就加1,沒有滿足的變?yōu)镹ULL,我們知道聚合函數(shù)統(tǒng)計的時候是忽略null值的;而sum原理和coun相似,不過ELSE后面可以是0或者NULL。
到此這篇關(guān)于Sql根據(jù)不同條件統(tǒng)計總數(shù)的文章就介紹到這了,更多相關(guān)sql統(tǒng)計總數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
清除SQL SERVER錯誤日志出現(xiàn)操作系統(tǒng)錯誤的解決方法
SQL Server 外部的進程可能會阻止 SQL Server 讀取這些文件。因此,錯誤日志條目可能已丟失,并且或許不可能查看某些 SQL Server 錯誤日志。請確保任何其他進程都未將該文件鎖定為只寫訪問2013-08-08
關(guān)于SQL Server數(shù)據(jù)庫中的用戶權(quán)限和角色管理功能實現(xiàn)
在本文中,我們介紹了在SQL Server中創(chuàng)建用戶、分配權(quán)限和管理角色的基礎(chǔ)知識,請記住定期審查和更新用戶權(quán)限,以符合您組織的安全政策和數(shù)據(jù)訪問要求,這篇文章主要介紹了關(guān)于SQL Server數(shù)據(jù)庫中的用戶權(quán)限和角色管理,需要的朋友可以參考下2024-03-03
在SQL?Server中使用?Try?Catch?處理異常的示例詳解
這篇文章主要介紹了如何在?SQL?Server?中使用?Try?Catch?處理異常,通過實例代碼了解 SQL Server 中的 Try-Catch 實現(xiàn),本文給大家介紹的非常詳細,需要的朋友可以參考下2022-07-07
使用綠色版SQLServer2008R2出現(xiàn)的問題解析
這篇文章主要介紹了使用綠色版SQLServer2008R2出現(xiàn)的問題,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-03-03
SQL SERVER 2012新增函數(shù)之字符串函數(shù)FORMAT詳解
這篇文章主要給大家介紹了關(guān)于SQL SERVER 2012新增函數(shù)之字符串函數(shù)FORMAT的相關(guān)資料,文中通過實例介紹的非常詳細,對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。2017-03-03
SQLserver2000 企業(yè)版 出現(xiàn)"進程51發(fā)生了嚴重的異常"錯誤的處理方法
SQL2000 企業(yè)版 出現(xiàn)“進程51發(fā)生了嚴重的異?!卞e誤的解決方法,利用了微軟官方的工具。2009-07-07

