使用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 '付費(fèi)總?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 '付費(fèi)訂單總數(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-06
SELECT… FOR UPDATE 排他鎖的實(shí)現(xiàn)
本文主要介紹了SELECT… FOR UPDATE 排他鎖的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01
linux下指定mysql數(shù)據(jù)庫服務(wù)器主從同步的配置實(shí)例
linux下指定數(shù)據(jù)庫服務(wù)器主從同步的配置實(shí)例,有需要的朋友可以參考下2013-01-01
MySQL中的alter table命令的基本使用方法及提速優(yōu)化
這篇文章主要介紹了MySQL中的alter table命令的基本使用方法及提速優(yōu)化的方法,包括ALTER COLUMN的使用等等,需要的朋友可以參考下2015-11-11
MySQL按時間統(tǒng)計數(shù)據(jù)的方法總結(jié)
在本篇MYSQL的內(nèi)容里,我們給大家整理了關(guān)于按時間統(tǒng)計數(shù)據(jù)的方法內(nèi)容,有需要的朋友們學(xué)習(xí)下。2019-02-02

