题80:
根据下表写一条SQL语句查询每种性别在每一天的总分,并按性别和日期对查询结果排序。
其中:(gender, day)是主键,一场比赛是在女队和男队之间举行的
该表的每一行表示一个名叫 (player_name) 性别为 (gender) 的参赛者在某一天获得了 (score_points) 的分数,如果参赛者是女性,那么 gender 列为 ‘F’,如果参赛者是男性,那么 gender 列为 ‘M’。
解题思路:利用窗口函数:over (partition by<用来分组的列名> order by <按序叠加的列名>)
,本题就累计分数,用于分组的列就是性别,按序叠加的列名是日期即可。
select
gender,
day ,
sum(score_points ) over ( partition by gender order by day) as total
from Scores;