Leetcode-Mysql题目及知识点总结(512、游戏玩法分析II)

计算机小白QAQ,因为想找数分岗暑期实习所以充了会员想集中刷一下leetcode的mysql部分。写这个系列博文和大家们交流一下,后面也会持续更新面经准备的一些问题,欢迎同好们一起交流,求大佬轻喷QAQ。因为自己初学也走了很多弯路,所以会尽量写得详细一点,如果可以帮助到后来的朋友们,请各位留言鼓励一下哈哈哈哈。

512、游戏玩法分析II

思路:先找的每个player首次登陆的时间作为子查询,以(player_id,event_date)作为过滤条件返回其在子查询范围内的player_id和device_id。

这个思路下没有新的知识点,只是有一个需要注意的点。为什么要以这两个列名组合为过滤条件而不是event_date自己呢?是因为有可能这一组的最小值event_date可能在别的组也出现过,这样就会导致输出的错误。同时这里没有将子查询作为新的表使用所以不需要命名,如果是要左连接之类的是需要命名的。

代码:

select player_id,device_id

from Activity

where (player_id,event_date) in (select player_id,min(event_date)

from Activity

group by player_id)

猜你喜欢

转载自blog.csdn.net/weixin_43167461/article/details/113186507