共計(jì) 1307 個(gè)字符,預(yù)計(jì)需要花費(fèi) 4 分鐘才能閱讀完成。
行業(yè)資訊
數(shù)據(jù)庫
MySQL 數(shù)據(jù)庫
在 SQL 語句統(tǒng)計(jì)數(shù)據(jù)時(shí) sum 和 count 函數(shù)中使用 if 判斷條件的示例分析
自動(dòng)寫代碼機(jī)器人,免費(fèi)開通
這篇文章主要介紹在 SQL 語句統(tǒng)計(jì)數(shù)據(jù)時(shí) sum 和 count 函數(shù)中使用 if 判斷條件的示例分析,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
示例:
order_type:訂單類型
open_id:用戶唯一標(biāo)識(shí)
SELECT
date(create_time) AS 當(dāng)天日期 ,
sum(real_price) AS 當(dāng)天總收入 ,
sum 函數(shù)中使用 if 判斷條件:{IF (order_type = 0, real_price, 0)
) AS 當(dāng)天支付收入 ,
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ù)
orders
WHERE
real_price != 1
AND status != 0
GROUP BY DATE(create_time)
查詢結(jié)果:為了區(qū)分打賞訂單和支付訂單的數(shù)據(jù)統(tǒng)計(jì),使數(shù)據(jù)更加清晰。
小結(jié):
sum 函數(shù)中使用 if 判斷條件格式為:sum(if( 條件, 列值,0))
注解:sum 是求和函數(shù),條件為真時(shí),執(zhí)行列值(字段名)求和也就是累加,條件為假時(shí)為 0 求和(當(dāng)然還是 0)
1. 單條件判斷格式,sum(if( 條件字段名 = 值, 需要計(jì)算 sum 的字段名,0))
2. 多條件判斷格式,sum(if( 條件字段名 值 AND 條件字段名 值 AND 條件字段名 = 值,1,0))
注解:多條件判斷格式整體含義為,計(jì)算滿足條件的數(shù)據(jù)總數(shù),如果滿足條件,那么數(shù)據(jù)總數(shù)加 1,所以 1 的含義為累加 1
3. 常見 case when 格式,sum(case when 條件字段名 in ( 范圍較小值, 范圍較大值) then [需要計(jì)算 sum 的字段名] else 0 end)
count 函數(shù)中使用 if 判斷條件格式為:
1. 統(tǒng)計(jì)總數(shù),count(if( 條件字段名 = 值,true,null))
2. 統(tǒng)計(jì)總數(shù)去重復(fù)值,count(DISTINCT 需要計(jì)算 count 的字段名,if( 條件字段名 = 值,true,null))
以上是“在 SQL 語句統(tǒng)計(jì)數(shù)據(jù)時(shí) sum 和 count 函數(shù)中使用 if 判斷條件的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道!
向 AI 問一下細(xì)節(jié)