MySQL中用户订单复购率的计算
生活随笔
收集整理的這篇文章主要介紹了
MySQL中用户订单复购率的计算
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.項目需求(計算復購率)
訂單表中有用戶ID、訂單金額、每筆訂單的下單時間等信息,需要統計每個月在接下來幾個月用戶復購情況
目標分解
1.首先統計每個月下單的用戶數
2.將每個月下單的用戶數表自連接判斷是否復購,同時計算復購人數
SELECT a.月份 as 購買月份, b.月份 as 復購月, COUNT(distinct(b.user_id)) as 復購人數 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.統計每個月總用戶下單數
SELECT MONTH( create_time ) as 月份,COUNT( distinct ( user_id ) ) 總用戶數 fromorders GROUP BY月份;4.計算復購率,復購人數/總用戶下單數
select 購買月份,復購月,復購人數,總用戶數,CONCAT(ROUND(復購人數/總用戶數,2) *100,'%') as 復購率 FROM (SELECT a.月份 as 購買月份,b.月份 as 復購月,COUNT(distinct(b.user_id)) as 復購人數 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 ) ) 總用戶數 fromorders GROUP BY月份 ) zr on fg.購買月份 = zr.月份總結
以上是生活随笔為你收集整理的MySQL中用户订单复购率的计算的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: tipask mysql调取dedecm
- 下一篇: HiveSQL最近7/30日各品牌复购率