MySQL中用户订单复购率的计算
生活随笔
收集整理的這篇文章主要介紹了
MySQL中用户订单复购率的计算
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1.項(xiàng)目需求(計(jì)算復(fù)購(gòu)率)
訂單表中有用戶(hù)ID、訂單金額、每筆訂單的下單時(shí)間等信息,需要統(tǒng)計(jì)每個(gè)月在接下來(lái)幾個(gè)月用戶(hù)復(fù)購(gòu)情況
目標(biāo)分解
1.首先統(tǒng)計(jì)每個(gè)月下單的用戶(hù)數(shù)
2.將每個(gè)月下單的用戶(hù)數(shù)表自連接判斷是否復(fù)購(gòu),同時(shí)計(jì)算復(fù)購(gòu)人數(shù)
SELECT a.月份 as 購(gòu)買(mǎi)月份, b.月份 as 復(fù)購(gòu)月, COUNT(distinct(b.user_id)) as 復(fù)購(gòu)人數(shù) from (SELECT MONTH( create_time ) as 月份,user_id FROMorders GROUP BY月份,user_id) a join (SELECT MONTH( create_time ) as 月份,user_id FROMorders GROUP BY月份,user_id ) b on a.user_id = b.user_id and a.月份< b.月份 GROUP BY a.月份,b.月份3.統(tǒng)計(jì)每個(gè)月總用戶(hù)下單數(shù)
SELECT MONTH( create_time ) as 月份,COUNT( distinct ( user_id ) ) 總用戶(hù)數(shù) fromorders GROUP BY月份;4.計(jì)算復(fù)購(gòu)率,復(fù)購(gòu)人數(shù)/總用戶(hù)下單數(shù)
select 購(gòu)買(mǎi)月份,復(fù)購(gòu)月,復(fù)購(gòu)人數(shù),總用戶(hù)數(shù),CONCAT(ROUND(復(fù)購(gòu)人數(shù)/總用戶(hù)數(shù),2) *100,'%') as 復(fù)購(gòu)率 FROM (SELECT a.月份 as 購(gòu)買(mǎi)月份,b.月份 as 復(fù)購(gòu)月,COUNT(distinct(b.user_id)) as 復(fù)購(gòu)人數(shù) from (SELECT MONTH( create_time ) as 月份,user_id FROMorders GROUP BY月份,user_id) a join (SELECT MONTH( create_time ) as 月份,user_id FROMorders GROUP BY月份,user_id ) b on a.user_id = b.user_id and a.月份< b.月份 GROUP BY a.月份,b.月份 ) fg join (SELECT MONTH( create_time ) as 月份,COUNT( distinct ( user_id ) ) 總用戶(hù)數(shù) fromorders GROUP BY月份 ) zr on fg.購(gòu)買(mǎi)月份 = zr.月份總結(jié)
以上是生活随笔為你收集整理的MySQL中用户订单复购率的计算的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: tipask mysql调取dedecm
- 下一篇: 重拾年关趣事一二