【力扣刷题日记】512.游戏玩法分析II

前言

练习sql语句,所有题目来自于力扣(https://leetcode.cn/problemset/database/)的免费数据库练习题。

今日题目:

512.游戏玩法分析II
表:Activity

列名 类型
player_id int
device_id int
event_date date
games_played int

(player_id, event_date) 是这个表的两个主键(具有唯一值的列的组合)这个表显示的是某些游戏玩家的游戏活动情况每一行是在某天使用某个设备登出之前登录并玩多个游戏(可能为0)的玩家的记录
请编写解决方案,描述每一个玩家首次登陆的设备名称


我那不值一提的想法:

  • 首先梳理表内容,题干一共给了一张活动表,记录了玩家id,设备id,登录日期,玩游戏的数量
  • 其次分析需求,需要找到每一个玩家首次登录的设备名称
  • 既然是首次登录,那么就需要分组找到每个玩家对应日期的最小值
with min_date as (
    select player_id,min(event_date) as mindate 
    from Activity
    group by player_id
)
  • 在找到最小值后,将这个临时表连接原表,筛选条件是player_id,event_date都要相等
select m.player_id,a.device_id
from min_date m 
left join Activity a 
on m.player_id = a.player_id and m.mindate = a.event_date
  • 完整代码
with min_date as (
    select player_id,min(event_date) as mindate 
    from Activity
    group by player_id
)

select m.player_id,a.device_id
from min_date m 
left join Activity a 
on m.player_id = a.player_id and m.mindate = a.event_date

结果:

在这里插入图片描述


总结:

能运行就行。


相关推荐

  1. 511. 游戏分析 I

    2024-03-22 01:42:03       34 阅读
  2. 550. 游戏分析 IV

    2024-03-22 01:42:03       9 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-22 01:42:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-22 01:42:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-22 01:42:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-22 01:42:03       20 阅读

热门阅读

  1. 拷贝函数调用时机

    2024-03-22 01:42:03       18 阅读
  2. OD C卷 - 员工派遣

    2024-03-22 01:42:03       21 阅读
  3. vue3组合式父页面调用子页面的方法

    2024-03-22 01:42:03       19 阅读
  4. 【Caddy】 Ubuntu 下卸载 Caddy

    2024-03-22 01:42:03       18 阅读
  5. BitMap 和 HyperLogLog

    2024-03-22 01:42:03       20 阅读