暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

单挑力扣(LeetCode)SQL笔试题:511. 游戏玩法分析 I(难度:简单)

原创 fizz 2023-01-14
560
题目:511. 游戏玩法分析 I
(通过次数69,622 | 提交次数97,574,通过率71.35%)
活动表Activity:+--------------+---------+| Column Name  | Type    |+--------------+---------+| player_id    | int     || device_id    | int     || event_date   | date    || games_played | int     |+--------------+---------+表的主键是 (player_id, event_date)。这张表展示了一些游戏玩家在游戏平台上的行为活动。每行数据记录了一名玩家在退出平台之前,当天使用同一台设备登录平台后打开的游戏的数目(可能是 0 个)。
写一条 SQL查询语句获取每位玩家 第一次登陆平台的日期。
查询结果的格式如下所示:Activity 表:+-----------+-----------+------------+--------------+| player_id | device_id | event_date | games_played |+-----------+-----------+------------+--------------+| 1 | 2 | 2016-03-01 | 5 || 1 | 2 | 2016-05-02 | 6 || 2 | 3 | 2017-06-25 | 1 || 3 | 1 | 2016-03-02 | 0 || 3 | 4 | 2018-07-03 | 5 |+-----------+-----------+------------+--------------+Result 表:+-----------+-------------+| player_id | first_login |+-----------+-------------+| 1 | 2016-03-01 || 2 | 2017-06-25 || 3 | 2016-03-02 |+-----------+-------------+
来源:力扣(LeetCode)链接:https://leetcode.cn/problems/game-play-analysis-i
复制
#测试数据Create table If Not Exists Activity (player_id int, device_id int, event_date date, games_played int);
insert into Activity (player_id, device_id, event_date, games_played) values ('1', '2', '2016-03-01', '5');insert into Activity (player_id, device_id, event_date, games_played) values ('1', '2', '2016-05-02', '6');insert into Activity (player_id, device_id, event_date, games_played) values ('2', '3', '2017-06-25', '1');insert into Activity (player_id, device_id, event_date, games_played) values ('3', '1', '2016-03-02', '0');insert into Activity (player_id, device_id, event_date, games_played) values ('3', '4', '2018-07-03', '5');
复制
解题思路:
Activity表保存了玩家所有的活动记录。包括玩家ID、活动日期(登陆日期)。
题目要求:查询每个玩家第一次登陆平台的日期。
一个玩家可以有多次登录记录,但登陆日期最小的日期即为第一次登陆日期。又因为要求计算每个玩家的最小登陆日期,所以,可以先按玩家ID分组,再使用聚合函数MIN得出登陆日期的最小值。
参考SQL:
select    player_id,    min(event_date) first_loginfrom Activitygroup by player_id;
复制
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论