LeetCode--534. 游戏玩法分析 III

    科技2022-08-09  107

    建表

    create table activity ( player_id int, device_id int, event_date date, games_played int ); insert into activity values(1, 2, '2016-03-01', 5); insert into activity values(1, 2, '2016-05-02', 6); insert into activity values(1, 3, '2017-06-25', 1); insert into activity values(3, 1, '2016-03-02', 0); insert into activity values(3, 4, '2018-07-03', 5);

    解题思路

    自连接,第一个表的时间>=第二个表的时间,累加第二个表的次数,即“之前的和”根据id和时间分组 select a1.player_id, a1.event_date, sum(a2.games_played) as games_played_so_far from activity a1, activity a2 where a1.player_id=a2.player_id and a1.event_date>=a2.event_date group by a1.player_id, a1.event_date;

    Processed: 0.009, SQL: 8