LeetCode(数据库)- 游戏玩法分析 III
Posted Lux_Sun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode(数据库)- 游戏玩法分析 III相关的知识,希望对你有一定的参考价值。
题目链接:点击打开链接
题目大意:略。
解题思路:
- 解决方案(1):自变量,算出每一行记录与上一行记录的累加即可
- 解决方案(2):t1.event_date>=t2.event_date + GROUP BY t1.player_id,t1.event_date 是关键:(自连接)用 t1 比自己还小的所有在 t1.player_id,t1.event_date 范围内的时间,就是到达 t1 时间的总和游戏数
AC 代码
-- 解决方案(1)
SELECT RS.player_id, RS.event_date, RS.games_played_so_far
FROM (SELECT player_id, event_date, CONVERT(@sum:=IF(@p<>player_id, games_played, @sum + games_played), SIGNED) games_played_so_far, @p:=player_id
FROM Activity, (SELECT @sum:=0, @p:=-1) init
ORDER BY player_id, event_date) RS;
-- 解决方案(2)
SELECT t1.player_id,
t1.event_date,
SUM(t2.games_played) games_played_so_far
FROM Activity t1,Activity t2
WHERE t1.player_id=t2.player_id AND t1.event_date>=t2.event_date
GROUP BY t1.player_id,t1.event_date;
以上是关于LeetCode(数据库)- 游戏玩法分析 III的主要内容,如果未能解决你的问题,请参考以下文章