Leetcode刷题记之游戏玩法分析V

报告每个安装日期、当天安装游戏的玩家数量和第一天的保留时间

题目来源:Leetcode 1097

预期输出结果:

>>>读题: 安装日期,即每个玩家第一次登陆日期;当天安装游戏的玩家;第一天的保留时间:次日留存率

① 安装日期:最小日期即为首次登陆日期

SELECT MIN(event_date) install_dt,player_id
FROM activity
GROUP BY player_id

输出:

当天安装游戏的玩家数:count(player_id)

② 关联求解:次日留存 -- 首次登陆日第二天登陆玩家数/当天安装游戏的玩家数 

SELECT a.install_dt, COUNT(a.player_id) installs, 
       round(count(b.player_id)/count(a.player_id),2) Day1_retention
FROM (
	SELECT MIN(event_date) install_dt,player_id
	FROM activity
	GROUP BY player_id) a
LEFT JOIN activity b ON Datediff(b.event_date,a.install_dt) = 1
		AND a.player_id = b.player_id
GROUP BY a.install_dt

输出:

想象困难患者友好:中间过程辅助

SELECT *
FROM
     ((SELECT MIN(event_date) install_dt,player_id install_player_id
	  FROM activity
	GROUP BY install_player_id) a
	LEFT JOIN activity b ON Datediff(b.event_date,a.install_dt) = 1
			     AND a.install_player_id = b.player_id )

输出:

DONE ! 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值