Mysql求累计和——游戏玩法分析Ⅰ

【SQL30】使用sum() over()求每个玩家累计玩数量 有如下一张activity表 player_id device_id event_date games_played 1 2 '2016-01-01' 5 1 2 '2016-05-02' 6 1 3 '2017-07-25' 1 3 ... 阅读详情

以游戏玩法分析为例用Mysql求累计和

 

问题描述

Column NameType
player_idint
device_idint
event_datedate
games_playedint

 (player_id,event_date)是表格Activity的主键。这张表显示了某些游戏的玩家的活动情况。每一行是一个玩家的记录,他在某一天使用某个设备注销之前登录并玩了很多游戏(可能是 0 )。
 

 编写一个 SQL 查询,同时报告每组玩家和日期,以及玩家到目前为止玩了多少游戏。也就是说,在此日期之前玩家所玩的游戏总数。
 

示例

Activity table:

player_iddevice_idevent_dategames_played
122016-03-015
122016-05-026
132017-06-251
312016-03-020
342018-07-035

Result table:

player_idevent_dategames_played_so_far
12016-03-015
12016-05-0211
12017-06-2512
32016-03-020
32018-07-035

 

解答

# Write your MySQL query statement below
select a1.player_id, a1.event_date, sum(a2.games_played) as games_played_so_far
from Activity as a1
inner join Activity as a2
on (a1.event_date >= a2.event_date and a1.player_id=a2.player_id)
group by a1.player_id, a1.event_date
order by a1.player_id;

或用窗口函数sum()

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

 

分析

用mysql求累计和主要是:

a1.event_date >= a2.event_date

然后对a2进行sum求和即可。
(第一次解的时候,忘了对 a1.player_id 分组)

用sum()做窗口函数也能求累计和!

参考:leetcode题库

安装部署 Guacamole 远程桌面网关 Guacamole 是Apache基金会提供的一组基于web的远程桌面访问工具,支持 VNC、RDP、SSH、 Telnet 等协议,支持远程透传音视频。 阅读详情

相关推荐

保姆级避坑指南:用Keil和J-Flash搞定凌思微LE5010蓝牙芯片的首次程序下载

本文提供了一份详细的保姆级避坑指南,帮助开发者使用Keil和J-Flash工具完成凌思微LE5010蓝牙芯片的首次程序下载。文章重点解决了算法文件混淆、协议栈漏烧和仿真器连接异常等常见问题,并详细介绍了开发环境配置、协议栈烧录和下载接口的物理层奥秘,助力开发者高效完成蓝牙开发任务。

weixin_28739079的博客 466

leetcode力扣MySQL数据库刷题(31 - 45)

(31)511. 游戏玩法分析 I select player_id,min(event_date) as first_login from activity group by player_id (32)512. 游戏玩法分析 II select a.player_id,a.device_id from activity a join (select player_id,min(event_date) as first_login from activity group by player_id)

竹蜻蜓飞行的博客 469

TOD和PPS精确时间同步技术

授时

u010783226的专栏 1万+

mysql 获取唯一值,mysql-我的SQL唯一值-意外结果

我有一个表tblSchedule,下面是其中的值.INSERT INTO tblSchedule (`scheduleID`, `eventID`, `price`, `eventDate`) VALUES(1, 1, 150, '2013-04-20 00:00:00'),(2, 1, 100, '2013-04-15 00:00:00'),(3, 2, 80, '2013-04-18 00:0...

weixin_34259909的博客 357

视频监控设备(NVR、IPC等)如何通过国标GB28181接入到视频监控平台,以及接入过程如何测试视频接入是否成功

GB/T28181标准广泛的应用,视频监控设备通过国标GB28181接入视频监控平台的过程变成程序化、标准化的互联过程,确保了视频监控设备能够在不同系统、不同网络环境下实现远程、跨区域、跨级别的访问和控制。版本有GB28181-2011、2016、2022几个常用版本,威迪斯特的视频监控平台完全支持GB28181的这几个版本,能够实现不同品牌视频监控设备的国标视频接入(国标视频监控接入),或者为国标28181视频接入(国标28181视频监控接入),也为国标281818接入(国标GB/T28181接入。

weixin_70208651的博客 1万+

哨兵1号后向散射系数土壤水分反演

打开之前预处理之后的VH和VV极化的后向散射系数转存的tiff文件。

所有专家都曾始于新手 3292

MYSQL|高频 SQL 50 题|550. 游戏玩法分析 IV

SELECTplayer_id,FROMactivityGROUP BYplayer_id:通过 WITH 子句,定义一个公共表达式;MIN函数找到每个玩家首次登陆日期;按照 player_id 进行分组。可以讲 CTE 理解为一个临时表,它包含了每个玩家的首次登陆日期,供住查询中使用。

糖炒栗子 1266

高速电路设计必看:同步开关噪声问题解析

数字电路中的同步开关噪声(SSN)问题日益突出,尤其是随着高速器件应用增多。本文分析了地弹和电压弹的产生机理,指出其与电源网络电感、输出驱动电流变化率密切相关。文章详细阐述了地弹参数特征,包括峰值电压、脉冲宽度等关键指标,并探讨了负载电容、信号压摆率等因素对地弹的影响。最后提出系统化的解决方案,涵盖芯片选型、电路设计、PCB布局和后期调试等多个环节,强调通过降低回路电感和控制电流变化率来有效抑制SSN。这些措施需要在性能、成本和复杂度之间取得平衡,为高速数字电路设计提供了重要参考。

一只豌豆象的博客 296

Mysql刷题笔记 12.29 查询每个玩家每天累计玩的游戏数量有多少?

Mysql练习 -- 12.29 查询每个玩家每天累计玩的游戏数量有多少? CREATE TABLE T1229( player_id INT, device_id INT, event_date DATE, games_player INT ) INSERT INTO T1229 VALUES(1,2,"2016/03/01",5) INSERT INTO T1229 VALUES(1,2,"2016/05/02",6); INSERT INTO T1229 VALUES(1,3,"2017

cjl的博客 990

第42篇FEDGLOSS算法BEYOND LOCAL SHARPNESS:COMMUNICATION-EFFICIENT GLOBALSHARPNESS-AWARE MINIMIZATIONFOR

:用上一轮伪梯度最小化锐度,获取与全局损失最相关的几何信息,引导全局优化趋向更平坦的最小值。效果对比分析:FEDGLOss。

weixin_74009895的博客 526

2026年沐曦集成电路数字IC笔试试卷带答案

本文摘要: 这是一份数字IC设计笔试模拟题,包含单选题、波形分析、多选题和代码设计题。重点考察ASIC设计流程(如逻辑综合将RTL转为门级网表)、时序分析(建立时间余量计算)、跨时钟域处理(格雷码应用)、复位机制、状态机设计等核心知识点。涉及沐曦特色考点如GPU架构(SIMT模型)、国产GPU芯片(曦云C系列)及MXMACA软件栈。代码题要求实现50%占空比三分频电路,综合考察Verilog设计能力。试题强调PPA优化、低功耗技术等工程实践要点,覆盖数字IC前端设计全流程核心内容。(149字)

Open 258

【数据库与SQL】力扣刷题SQL篇(3)

文章目录15 游戏玩法分析116 游戏玩法分析217 游戏玩法分析318 游戏玩法分析4 15 游戏玩法分析1 select player_id,min(event_date) as first_login from activity group by player_id select a.player_id ,a.event_date as first_login from (select *, dense_rank() over(partition by player_id ord

积一时之步,臻千里之遥程 383

sam3.1 部署笔记 推理封装

sam3.1 部署笔记

jacke121的专栏 422

【Leetcode-sql】游戏玩法分析Ⅰ-Ⅳ

首先给出四道题共同用到的活动表 Activity: +--------------+---------+ | Column Name | Type | +--------------+---------+ | player_id | int | | device_id | int | | event_date | date | | games_played | int | +--------------+---------+ 表的主键是 (player_

weixin_37875391的博客 370

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

力扣sql会员sql题

力扣会员sql题 使用MySQL 8.0窗口函数解决 对于排序问题,常用的有三种窗口函数,以数值4,5,5,6为例: ROW_NUMBER(): 求行数,结果为1,2,3,4 RANK(): 有间隔的分级,结果为1,2,2,4 DENSE_RANK(): 无间隔的分级,结果为1,2,2,3 使用这些窗口函数时,要用over设定窗口,用法为: function OVER windowName WINDOW windowName AS (PARTITION BY a_col ORDER BY b_col) 这

乐观的阿锡的博客 842

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

爬虫应用开发(python课程设计Ⅰ)

目录 一、选题背景 二、爬虫原理 2.1网络爬虫的类型 2.2网络爬虫的使用要求 2.3 Scrapy框架工作流程 三、常用爬虫框架比较 四、数据爬取(腾讯招聘岗位数据) 4.1模型建立 4.2基于Scrapy的腾讯招聘网站爬虫实现 4.3数据查询 4.4遇到的难点 五、总结 一、选题背景 近些年来,随着人类社会的进步,互联网行业快速发展,社会的信息量不断地累计,呈现爆炸式增长,可以说大数据时代已经全面到来。同时,网络招聘作为企业招聘人才的一种重要方式

u013597069的博客 2533

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

疫情数据可视化-湖北省疫情可视化软件设计大赛作品

湖北省疫情监测中心(疫情数据可视化) 数据可视化《疫情可视化-湖北省疫情监测中心》 这是此次参加软件设计大赛的一次可视化作品,仅供参考禁止转载。

KIRA551的博客 76万+

被sleep开了个小玩笑

本案例转载自李大玉老师分享 Ⅰ、问题背景 探活脚本连续8次探测,判断主库异常,触发切换(判断备机是否有延迟,kill原主,VIP飘到备机,设置新主可写) 切换后,业务还是异常,SQL查询没返回,DB连接数耗完,为了恢复业务,重启新主后业务恢复 两个问题 主库为什么会切换 切换后新主库为什么还是不可用 Ⅱ、问题排查 1、根据系统运行时间、系统日志以及服务器带外日志可排除服务器和数据库OOM 2、...

weixin_30782293的博客 127

基于SSM的在线兼职任务平台的设计与实现开题报告

兼职和求职是一项对信息的需求量比较大的活动,特别是在大学校园中,众多的学生面临着就业问题。这样不仅可以提升自己的能力,也可以在业余时间提升自己的能力,并且在用户权益方面,用户直接与平台挂钩,不与第三方接触,减少了受骗上当的风险。利用已学过的Java语言,设计一个基于SSM框架的在线兼职任务平台的设计与实现,实现不同的用户可以在不同的学科模块进行在线领取任务获取佣金。张文洁,蔡逸菲,傅明慧,陈雨晨,王梦星.基于互联网的高校兼职平台的功能设计[J].科技与创新,2021(13):114-115.

2301_79305643的博客 301

(超详细一文看懂)MySQL累计求和问题及窗口函数order by的原理

总结一句话:在窗口函数里面,order by表面是排序,实际是求累计!

dhr223的博客 1万+

LeetCode MySQL 1097. 游戏玩法分析 V

文章目录1. 题目2. 解题 1. 题目 Activity 活动记录表 +--------------+---------+ | Column Name | Type | +--------------+---------+ | player_id | int | | device_id | int | | event_date | date | | games_played | int | +--------------+---------+ (pla

Michael是个半路程序员 979

MySQL 实现累积求和的几种方法

场景 mysql> desc cum_demo; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | id | int(11) | NO | PRI | NULL | | | money | int(11) | YES

xchenhao 的博客 9399

游戏数据分析的 数据库,用于操作MySQL 练习

求一份关于 游戏数据分析的 数据库,用于操作MySQL 练习,如果附带相关习题更好,谢谢。

weixin_42719542的博客 941

社交网站常见的用户与好友关系表设计(mysql)

常见的社交网络用户与好友关系表设计逻辑

Cien 1万+

LeetCode(数据库)- 游戏玩法分析 III

题目链接:点击打开链接 题目大意:略。 解题思路: 解决方案(1):自变量,算出每一行记录与上一行记录的累加即可 解决方案(2):t1.event_date>=t2.event_date + GROUP BYt1.player_id,t1.event_date是关键:(自连接)用 t1 比自己还小的所有在t1.player_id,t1.event_date 范围内的时间,就是到达 t1 时间的总和游戏数 AC 代码 -- 解决方案(1) SELECT RS.play...

531

Mysql累计求和

有一组数据, 现在要根据id给充值点数进行一个累计求和, 首先按照ID给它一个排序 在按照排序进行累加 这样就算出了累加值。

weixin_44081470的博客 464
上一篇: Mysql语句执行顺序
下一篇: Mysql求至少连续两天登录——游戏玩法分析Ⅱ
米法·
博客等级 码龄8年 179粉丝 116原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值