开窗函数语法
开窗函数的语法为:func over (partition by 列名1 order by 列名2 ),括号中的两个关键词partition by 和order by可以只出现一个。over() 前面是一个函数func,如果是聚合函数(如SUM、AVG、MAX、MIN、COUNT),那么order by 不能一起使用(可能因为聚合函数是没有顺序的)。
排序
同一个年级中年纪的排序
开窗操作:rank() over (partition by)
有点像group by只不过每行都保留,单独计算,group只能保留group的列,其他列不能保留
下面的查询语句增加一列,在同一个年级中的年龄排序,倒序。
select
*,
rank() over (partition by class order by age desc)
from
table;
网友评论