力扣512(MySQL)-游戏玩法分析Ⅱ(简单)
题目:
需求:请编写一个 SQL 查询,描述每位玩家首次登陆的设备名称
查询结果格式在以下示例中:
解题思路:
方法一:使用dense_rank() over(partition by ...order by ...)先以player_id分组,再按登录时期进行排序,最后再筛选出排序为1的设备id。
方法二:
①先筛选出每个用户的第一次登录时间,作为临时表b
1 SELECT 2 player_id, 3 min(event_date) as first_login 4 FROM activity 5 GROUP by player_id
②将activity表与临时表进行关联,关联条件是:a.player_id = b.player_id and a.event_date = b.first_login;然后输出设备id
方法三:使用where() in来筛选符合条件的数据