1

开窗函数的另外一种方式

 

 

 

https://leetcode.cn/problems/game-play-analysis-iii/solutions/286941/chao-xiang-xi-tu-jie-zi-lian-jie-by-piajun

===如下第一种最简单的 开窗


select 
player_id , 
event_date , 
 

sum(games_played) over (partition by player_id
order by  event_date  asc  ) games_played_so_far 

from  activity
order by   games_played_so_far desc
===如下是第二种方法 
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;

作者:piajun
链接:https://leetcode.cn/problems/game-play-analysis-iii/solutions/286941/chao-xiang-xi-tu-jie-zi-lian-jie-by-piajun/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

 

小白第一次做没有用group by,结果就只得到了一条结果sum=33,通过上面的分析明白了当时的sum()其实求得的是前两部分选出来的灰色部分的总和,即5+5+6+5+6+1+0+0+5=33.因此需要使用group by分组才可以得出对应结果。

作者:piajun
链接:https://leetcode.cn/problems/game-play-analysis-iii/solutions/286941/chao-xiang-xi-tu-jie-zi-lian-jie-by-piajun/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

posted @ 2024-08-18 15:27  萌哥-爱学习  阅读(1)  评论(0编辑  收藏  举报