SQL面試必考——計算留存率
leetcode 1097. 遊戲玩法分析 V
計算第一天的留存率
法一:視窗函式
- 找到安裝遊戲的時間,及每個玩家第一次登陸的時間,通過min()+視窗函式,可以既找到最小值,又保留原來的值。(若使用聚合函式group by則只能保留一組數)
select player_id,
event_date,
min(event_date) over(partition by player_id) install_dt
from Activity;
- 計算第一天的登陸玩家人數,和第二天仍然登陸的人數。用group by分組計算。
select distinct install_dt,
count(distinct player_id) installs,
round(sum(if datediff(event_date,install_date)=1,1,0)/count(distinct player_id),2) Day1_retention
from
(select player_id,
event_date,
min(event_date) over(partition by player_id) install_dt
from Activity) t
group by install_dt;
法二:自連線
- 計算第一天登陸時間
- 通過左連線能夠得到第一天登陸的id以及第二天是否繼續登陸的資訊,如果第二天沒有登陸,則為null。count(*)會將null算入。
select distinct install_dt,
count(*) installs,
round(count(t2.event_date)/count(*),2) Day1_retention
from
(select player_id,min(event_date) install_dt
from Activity
group by player_id) t1
left join Activity t2
on t1.player_id = t2.player_id
and datediff(t2.event_date,t1.install_dt)=1
group by install_dt;
左連線得到的結果如下
t1.player_id | t1.install_dt | t2.player_id | t2.event_date |
---|---|---|---|
1 | 2016-03-01 | 1 | 2016-03-02 |
2 | 2017-06-25 | null | null |
3 | 2016-03-01 | null | null |
相關文章
- 留存率計算
- 計算機初面面試必考的計算機網路知識點梳理面試計算機網路
- 手機遊戲使用者留存率詳解與計算案例遊戲
- 留存率預估
- 你真懂APP留存率?統計pm教你辨別四種口徑的留存率APP
- 面試必考:秒殺系統如何設計?面試
- js面試必考三問JS面試
- 面試必考:網路問題面試
- 使用者需求與留存率關係,如何提升使用者留存率
- MySQL 留存率和復購率的場景分析MySql
- Go面試必考題目之method篇Go面試
- Go面試必考題目之slice篇Go面試
- 100家IT 名企面試必考面試題java系列面試題Java
- 前端面試必考題:React Hooks 原理剖析前端面試ReactHook
- 分享一道Go面試必考的題Go面試
- Python面試中8個必考問題Python面試
- Python 面試中 8 個必考問題Python面試
- 【SQL Server 第7篇】 計算平均二次重購率SQLServer
- 計算CAN波特率
- 大型網際網路公司必考java面試題與面試技巧Java面試題
- 雲端計算面試題及答案,AWS雲端計算面試題面試題
- 新股中籤率怎麼算?新股中籤率計算公式公式
- Spark+Hbase 億級流量分析實戰( 留存計算)Spark
- PlayHaven:資料顯示同類遊戲廣告的留存率為83% 不同類遊戲廣告留存率為80%遊戲
- SQL 有序計算SQL
- 如何透過華為分析提升產品留存率?
- 雲端計算面試題及答案,雲端計算崗位精品面試題面試題
- 2018最新《BAT Java必考面試題集》BATJava面試題
- 五分鐘學Java:如何學習Java面試必考的網路程式設計Java面試程式設計
- 增加App使用者留存率的12種思路APP
- GREE產品主管分享遊戲留存率提升經驗遊戲
- Quettra:Android版BBM月留存率超過90%Android
- SQL 轉置計算SQL
- SQL Server日期計算SQLServer
- Linux雲端計算面試題第二彈,樂視雲端計算面試題Linux面試題
- Python計算商品復購率Python
- Web 動畫幀率(FPS)計算Web動畫
- 庫存週轉率計算方法