真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

SQL如何實現(xiàn)用戶月留存率

小編給大家分享一下SQL如何實現(xiàn)用戶月留存率,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)公司長期為上千多家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為蘇尼特左企業(yè)提供專業(yè)的成都網(wǎng)站制作、網(wǎng)站設(shè)計,蘇尼特左網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

SQL-用戶月留存率;

需求背景:

根據(jù)訂單表,統(tǒng)計每個月在接下來幾個月用戶復(fù)購情況;(如:5月下單用戶10000人;這10000人又在6月又下單的用戶有5000人,這10000人在7月下單的用戶有8000人;)

解析思路:

  • 可以建立一張 用戶,月份臨時表;

  • 臨時表自關(guān)聯(lián),產(chǎn)生笛卡爾積,使用用戶id判定是否復(fù)購,用月份判定留存;

核心代碼:

# 數(shù)據(jù)預(yù)處理-用戶,月份去重;
drop table if exists tmp_user_retaion ;
create table tmp_user_retaion
as
select month as dt,userid
from odl_user_retain
group by month,userid;

# 留存計算;
select t1.dt as 自然月份,
t2.dt as 復(fù)購月份,
count(distinct t2.userid) as  復(fù)購用戶數(shù),
count(distinct t1.userid) as 總用戶數(shù)
from tmp_user_retaion t1
left join tmp_user_retaion t2
on (t1.userid=t2.userid and t1.dt < t2.dt)
group by t1.dt,t2.dt

圖表展示:

數(shù)據(jù)預(yù)處理

SQL如何實現(xiàn)用戶月留存率

留存計算:
  • 自關(guān)聯(lián),產(chǎn)生笛卡爾積;

SQL如何實現(xiàn)用戶月留存率

原始表數(shù)據(jù):

  • 表結(jié)構(gòu);

CREATE TABLE `odl_user_retain` (
 `month` bigint(20) DEFAULT NULL,
 `userid` bigint(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin
  • 表數(shù)據(jù);(需要先建立表,再插入數(shù)據(jù))

    INSERT INTO `odl_user_retain` (`month`, `userid`) VALUES (1, 1001);
    INSERT INTO `odl_user_retain` (`month`, `userid`) VALUES (2, 1001);
    INSERT INTO `odl_user_retain` (`month`, `userid`) VALUES (2, 1002);
    INSERT INTO `odl_user_retain` (`month`, `userid`) VALUES (3, 1001);
    INSERT INTO `odl_user_retain` (`month`, `userid`) VALUES (3, 1003);
    INSERT INTO `odl_user_retain` (`month`, `userid`) VALUES (3, 1002);

延伸:

t1.dt <= t2.dt ,添加一個等號,可以看看有什么效果;

 from tmp_user_retaion t1
left join tmp_user_retaion t2
on (t1.userid=t2.userid and t1.dt <= t2.dt)

以上是“SQL如何實現(xiàn)用戶月留存率”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


文章標題:SQL如何實現(xiàn)用戶月留存率
分享鏈接:http://weahome.cn/article/iposhe.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部