首页 > 其他分享 >【力扣刷题日记】512.游戏玩法分析II

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

时间:2024-03-20 12:58:53浏览次数:30  
标签:力扣 min event II player Activity date 512 id

前言

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

今日题目:

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

列名类型
player_idint
device_idint
event_datedate
games_playedint

(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

结果:

在这里插入图片描述


总结:

能运行就行。


标签:力扣,min,event,II,player,Activity,date,512,id
From: https://blog.csdn.net/dkmaa/article/details/136872903

相关文章

  • 代码随想录算法训练营day28 | leetcode 93. 复原 IP 地址、78. 子集、90. 子集 II
    目录题目链接:93.复原IP地址-中等题目链接:78.子集-中等题目链接:90.子集II-中等题目链接:93.复原IP地址-中等题目描述:有效IP地址正好由四个整数(每个整数位于0到255之间组成,且不能含有前导0),整数之间用'.'分隔。例如:"0.1.2.201"和"192.168.1.1"是有效IP......
  • 142. 环形链表 II
    /***Definitionforsingly-linkedlist.*structListNode{*intval;*structListNode*next;*};*/structListNode*detectCycle(structListNode*head){if(!head)returnNULL;structListNode*slow=head,*fast=head;while(fa......
  • Exynos4412 IIC Controller
    学习资料来源:https://www.bilibili.com/video/BV14o4y1Y7A1?p=10&vd_source=432ba293ecfc949a4174ab91ccc526d6寄存器描述来自Exynos4412User'sManual 在Exynos4412芯片中,使用IIC,重要寄存器如下:Multi-masterI2C-buscontrolregister–I2CCONMulti-masterI2C-busc......
  • IIC协议
    学习资料来源于网络和https://www.bilibili.com/video/BV14o4y1Y7A1?p=7&vd_source=432ba293ecfc949a4174ab91ccc526d6IIC基本术语:IIC总线是Philips公司在八十年代推出的一种串行、半双工总线。主要用于近距离、低速的芯片之前的通信;IIC总线有两根双向的信号线,一根数据线SDA用......
  • 1793.好子数组的最大分数(力扣每日一题)
    1793.好子数组的最大分数给你一个整数数组nums(下标从0开始)和一个整数k。一个子数组(i,j)的分数定义为min(nums[i],nums[i+1],...,nums[j])*(j-i+1)。一个好子数组的两个端点下标需要满足i<=k<=j。请你返回好子数组的最大可能分数。 示例......
  • 代码随想录算法训练营day27 | leetcode 39. 组合总和、40. 组合总和 II、131. 分割回
    目录题目链接:39.组合总和-中等题目链接:40.组合总和II-中等题目链接:131.分割回文串-中等题目链接:39.组合总和-中等题目描述:给你一个无重复元素的整数数组candidates和一个目标整数target,找出candidates中可以使数字和为目标数target的所有不同组合,并以列表形......
  • 【力扣hot100】49. 字母异位词分组
    题目给你一个字符串数组,请你将字母异位词组合在一起。可以按任意顺序返回结果列表。字母异位词是由重新排列源单词的所有字母得到的一个新单词。示例1:输入:strs=[“eat”,“tea”,“tan”,“ate”,“nat”,“bat”]输出:[[“bat”],[“nat”,“tan”],[......
  • 代码随想录算法训练营第五十天| ● 123.买卖股票的最佳时机III ● 188.买卖股票的
    买卖股票的最佳时机III  题目链接:123.买卖股票的最佳时机III-力扣(LeetCode)思路:与买卖股票2的区别在于我可以买卖两次,那么dp数组的状态就从两种变成了种,即第一次持有,第一次卖出,第二次持有,第二次卖出,注意这四种状态是不会同时存在的,除此之外还有一种状态,那就是不操作。if(......
  • 力扣---验证二叉搜索树---前根/中根/后根遍历
     题目解析参考:验证二叉搜索树_哔哩哔哩_bilibili一开始做呢,就跟这位老兄一样:因为没有考虑到5和3的比较接下来走入整体:先根遍历解法:首先 每个点其实都有范围,比如根节点的范围在(-INF,INF),就拿上面图片举例子,4这个节点的范围应该是(-INF,5),所以先序遍历,我们要先比较根......
  • 代码随想录算法训练营第27天|39. 组合总和|40.组合总和II|131.分割回文串
    代码随想录算法训练营第27天|39.组合总和|40.组合总和II|131.分割回文串详细布置39.组合总和本题是集合里元素可以用无数次,那么和组合问题的差别其实仅在于startIndex上的控制题目链接/文章讲解:https://programmercarl.com/0039.%E7%BB%84%E5%90%88%E6%80%BB%E5%9......