0
点赞
收藏
分享

微信扫一扫

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 sql:游戏玩法分析 III

Leetcode-1306. 跳跃游戏 III

0 条评论