leetcodeSQL: 游戏玩法分析 IV
2022/2/26 19:22:13
本文主要是介绍leetcodeSQL: 游戏玩法分析 IV,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
思路和注意点
1.找到每个玩家id对应的login时间,这里用min + group by,注意若不加group b只会输出一行,因为只有一个min
2.然后用1的表left join 原表,条件是id相同,但a.event_date 比login大一天,这里用到datediff, 前面减后面就是差
3.最后使用round取两位
4.中间的是a.event_date的出现频率,可以用avg(a.event_date is not null)表示将存在envet_date的表示1,其余0
src:
# Write your MySQL query statement below # is not null就是1,找到1的平均值,就是频率 select round(avg(a.event_date is not null), 2) fraction # 先找出每个用户id+首次登陆的信息, 然后左连接找满足条件的, a.event_date不能是空 from (select player_id, min(event_date) as login_day from Activity group by player_id) t left join Activity a # group by 保证只有一个player_id 作为主键 # 不用group by只会输出一个min值 on t.player_id = a.player_id and datediff(a.event_date, t.login_day) = 1
总结:
非常综合的一道题
考察了min,group,leftjoin,datediff,round,avg牛皮!
这篇关于leetcodeSQL: 游戏玩法分析 IV的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享