暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

阿里云瑶池数据库SQL挑战赛(赛题 2:游戏游玩情况)

原创 virvle 2023-06-18
256

赛题 2:游戏游玩情况

编写一个 SQL 查询,报告在首次游玩后的一周内至少再有一次游玩的玩家的比例,也就是注册首周内至少有两次登录的玩家占总玩家的比例,四舍五入到小数点后两位

解题思路

  1. 获取玩家第一次和第二次登录时间
  2. 比较第二次与第一次是时间是否为7天
  3. 统计7天内登录的玩家占比

sql语句

select round(count(1) / (select count(distinct player_id) from Activity) ,2) as fraction from ( SELECT t.player_id,min(event_date) s1, (SELECT event_date FROM Activity WHERE player_id = t.player_id ORDER BY event_date LIMIT 1 OFFSET 1) as s2 FROM Activity t group by t.player_id ) vv where datediff(s2 , s1 ) <= 7

增加索引

create index idx_activity_d on Activity(event_date);

执行结果及耗时

image.png

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论