使用SQL語句統(tǒng)計數(shù)據(jù)時sum和count函數(shù)中使用if判斷條件的講解
首先舉個栗子(不想看的話直接下面看總結(jié)):
order_type:訂單類型 open_id:用戶唯一標(biāo)識 SELECT date(create_time) AS '當(dāng)天日期', sum(real_price) AS '當(dāng)天總收入', sum函數(shù)中使用if判斷條件:{ sum( IF (order_type = 0, real_price, 0) ) AS '當(dāng)天支付收入', sum( IF (order_type = 1, real_price, 0) ) AS '當(dāng)天打賞收入', } count(DISTINCT open_id) AS '付費總?cè)藬?shù)', count函數(shù)中使用if判斷條件:{ count( DISTINCT open_id, IF (order_type = 0, TRUE, NULL) ) AS '支付人數(shù)', count( DISTINCT open_id, IF (order_type = 1, TRUE, NULL) ) AS '打賞人數(shù)', } count(id) AS '付費訂單總數(shù)', count函數(shù)中使用if判斷條件:{ count( DISTINCT id, IF (order_type = 0, TRUE, NULL) ) AS '支付訂單數(shù)', count( DISTINCT id, IF (order_type = 1, TRUE, NULL) ) AS '打賞訂單數(shù)' } FROM orders WHERE 'real_price' != 1 AND 'status' != 0 GROUP BY DATE(create_time)
查詢結(jié)果:為了區(qū)分打賞訂單和支付訂單的數(shù)據(jù)統(tǒng)計,使數(shù)據(jù)更加清晰。
小結(jié):
sum函數(shù)中使用if判斷條件格式為:sum(if(條件,列值,0))
注解:sum是求和函數(shù),條件為真時,執(zhí)行列值(字段名)求和也就是累加,條件為假時為0求和(當(dāng)然還是0)
1.單條件判斷格式,sum(if(條件字段名=值,需要計算sum的字段名,0))
2.多條件判斷格式,sum(if(條件字段名>值 AND 條件字段名>值 AND 條件字段名=值,1,0))
注解:多條件判斷格式整體含義為,計算滿足條件的數(shù)據(jù)總數(shù),如果滿足條件,那么數(shù)據(jù)總數(shù)加1,所以1的含義為累加1
3.常見case when格式,sum(case when 條件字段名 in (范圍較小值,范圍較大值) then [需要計算sum的字段名] else 0 end)
count函數(shù)中使用if判斷條件格式為:
1.統(tǒng)計總數(shù),count(if(條件字段名=值,true,null))
2.統(tǒng)計總數(shù)去重復(fù)值,count(DISTINCT 需要計算count的字段名,if(條件字段名=值,true,null))
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
相關(guān)文章
MySQL server has gone away 問題的解決方法
MySQL server has gone away 問題解決方法,需要的朋友可以參考下。2010-06-06SELECT… FOR UPDATE 排他鎖的實現(xiàn)
本文主要介紹了SELECT… FOR UPDATE 排他鎖的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01linux下指定mysql數(shù)據(jù)庫服務(wù)器主從同步的配置實例
linux下指定數(shù)據(jù)庫服務(wù)器主從同步的配置實例,有需要的朋友可以參考下2013-01-01MySQL中的alter table命令的基本使用方法及提速優(yōu)化
這篇文章主要介紹了MySQL中的alter table命令的基本使用方法及提速優(yōu)化的方法,包括ALTER COLUMN的使用等等,需要的朋友可以參考下2015-11-11MySQL按時間統(tǒng)計數(shù)據(jù)的方法總結(jié)
在本篇MYSQL的內(nèi)容里,我們給大家整理了關(guān)于按時間統(tǒng)計數(shù)據(jù)的方法內(nèi)容,有需要的朋友們學(xué)習(xí)下。2019-02-02