首页 > 数据库 >leecode 数据库: 534. 游戏玩法分析 III

leecode 数据库: 534. 游戏玩法分析 III

时间:2024-10-14 21:19:25浏览次数:7  
标签:event 游戏 玩家 player leecode 534 date III id

表:

Activity

+--------------+---------+
| Column Name  | Type    |
+--------------+---------+
| player_id    | int     |
| device_id    | int     |
| event_date   | date    |
| games_played | int     |
+--------------+---------+
(player_id,event_date)是此表的主键(具有唯一值的列)。
这张表显示了某些游戏的玩家的活动情况。
每一行是一个玩家的记录,他在某一天使用某个设备注销之前登录并玩了很多游戏(可能是 0 )。

 题目要求:

编写一个解决方案,同时报告每组玩家和日期,以及玩家到 目前为止 玩了多少游戏。也就是说,玩家在该日期之前所玩的游戏总数。详细情况请查看示例。

以 任意顺序 返回结果表。

结果格式如下所示。

示例 1:

输入:
Activity table:
+-----------+-----------+------------+--------------+
| player_id | device_id | event_date | games_played |
+-----------+-----------+------------+--------------+
| 1         | 2         | 2016-03-01 | 5            |
| 1         | 2         | 2016-05-02 | 6            |
| 1         | 3         | 2017-06-25 | 1            |
| 3         | 1         | 2016-03-02 | 0            |
| 3         | 4         | 2018-07-03 | 5            |
+-----------+-----------+------------+--------------+
输出:
+-----------+------------+---------------------+
| player_id | event_date | games_played_so_far |
+-----------+------------+---------------------+
| 1         | 2016-03-01 | 5                   |
| 1         | 2016-05-02 | 11                  |
| 1         | 2017-06-25 | 12                  |
| 3         | 2016-03-02 | 0                   |
| 3         | 2018-07-03 | 5                   |
+-----------+------------+---------------------+
解释:
对于 ID 为 1 的玩家,2016-05-02 共玩了 5+6=11 个游戏,2017-06-25 共玩了 5+6+1=12 个游戏。
对于 ID 为 3 的玩家,2018-07-03 共玩了 0+5=5 个游戏。
请注意,对于每个玩家,我们只关心玩家的登录日期。

综上,按照 player_id 分组 event_date 排序 对 games_played 进行累加。

根据输出可以想到使用窗口函数来实现。

代码如下:

select
    player_id,
    event_date,
    sum(games_played) over(partition by player_id order by event_date) as games_played_so_far
from Activity;

一     按照需求填入 player_id 和 event_date 使用累加函数和窗口函数对数据进行按玩家分组 时间顺序排序进行累加 从而得到到当天位置总共玩了多少游戏。

以上就是全部答案,如果对你有帮助请点个赞,谢谢。

来源:力扣(leecode

著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

 转载请注明出处:

leecode 数据库: 534. 游戏玩法分析 III-CSDN博客Activity(player_id,event_date)是此表的主键(具有唯一值的列)。这张表显示了某些游戏的玩家的活动情况。每一行是一个玩家的记录,他在某一天使用某个设备注销之前登录并玩了很多游戏(可能是 0 )。https://blog.csdn.net/CYJ1844/article/details/142929177

标签:event,游戏,玩家,player,leecode,534,date,III,id
From: https://blog.csdn.net/CYJ1844/article/details/142929177

相关文章

  • 代码随想录算法训练营 | 198.打家劫舍,213.打家劫舍II,337.打家劫舍III
    198.打家劫舍题目链接:198.打家劫舍文档讲解︰代码随想录(programmercarl.com)视频讲解︰打家劫舍日期:2024-10-13想法:dp[i]到第i个房子时能偷的最多的钱;递推公式:是上上一栋房子的dp[i-2]加上这栋房子的钱nums[i]大还是上一家邻居偷的钱dp[i-1]的大;初始化因为有i-2;所以初始化......
  • Leecode27移除元素
    题目Leecode27.移除元素给你一个数组nums和一个值val,你需要原地移除所有数值等于val的元素。元素的顺序可能发生改变。然后返回nums中与val不同的元素的数量。假设nums中不等于val的元素数量为k,要通过此题,您需要执行以下操作:更改nums数组,使nums......
  • 【Leecode 随笔】C语言版看了不后悔系列持续更新中。。。
    文章目录题目一:两数相除题目描述示例1:示例2:注意:解题思路示例代码深入剖析题目二:加一题目描述示例1:示例2:解题思路示例代码深入剖析题目三:快乐数题目描述示例1:示例2:解题思路示例代码深入剖析......
  • LaTeX 教學系列 (III):基本設定
    LaTeX教學系列(II):第一份LaTeX文件裡面,我們提到了如何建立第一份文件,並且根據不同的文件類別使用章節標題。文章目錄TeX世界的巴別塔LaTeX的裝備:套件買裝備:安裝與使用套件說明書:CTANLaTeX百變怪:設定文字設定字體大小設定字體系列設定字型設定中文LaTeX的服裝:......
  • Leecode热题100-3.无重复字符最长子串
    给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串 的长度。示例 1:输入:s="abcabcbb"输出:3解释:因为无重复字符的最长子串是"abc",所以其长度为3。示例2:输入:s="bbbbb"输出:1解释:因为无重复字符的最长子串是"b",所以其长度为1。......
  • Leecode热题100-75.颜色分类
    给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地 对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。必须在不使用库内置的sort函数的情况下解决这个问题。示例1:输入:num......
  • 题解:P9939 [USACO21OPEN] Acowdemia III B
    考虑贪心。遍历每只奶牛:如果它最多与一头奶牛相邻,那么什么都不会发生。如果它与两头以上的奶牛相邻,那么它与两侧的两头奶牛相邻。将答案递增\(1\)。否则,如果正好有两头相邻的奶牛,我们就把它们配对。也就是说,将这对奶牛插入一组。代码:#include<bits/stdc++.h>usingname......
  • Can you answer these queries III(单点修改线段树)
    因为洛谷出现UE在acwing提交,输入格式略有修改#include<bits/stdc++.h>usingnamespacestd;#definexfirst#defineysecondtypedefpair<int,int>PII;typedeflonglongll;typedefunsignedlonglongull;typedefvector<string>VS;typedefvector<int>......
  • 【Leecode 随笔】C语言版看了不后悔系列持续更新中。。。(四)
    文章目录题目一:实现一个函数,计算两个整数的最大公约数(GCD)题目分析:解题思路:示例代码:代码解析:题目二:实现一个函数,判断一个整数是否为素数题目分析:解题思路:示例代码:代码解析:题目三:实现一个函数,对给定的字符串进行排序(按字母顺序)题目分析:解题思路:示例代码:代码解析:......
  • leecode203-移除链表元素
    文章目录题目解题方法1题目给你一个链表的头节点head和一个整数val,请你删除链表中所有满足Node.val==val的节点,并返回新的头节点。示例1:输入:head=[1,2,6,3,4,5,6],val=6输出:[1,2,3,4,5]示例2:输入:head=[],val=1输出:[]示例3:输入:head......