网站首页 文章专栏 row_number() OVER(PARTITION BY)-多条件排序
统计每个部门薪资最高的员工信息
1、:row_number() over(partition by 一个或多个分组列 order by 一个或多个排序列 asc/desc) as 别名 //如果不写asc/desc的话,默认为asc
2、:row_number() over(distribute by 一个或多个分组列 sort by 一个或多个排序列 asc/desc) as 别名
在使用 row_number() over()函数时候,over()里头的分组以及排序的执行晚于 where 、group by、 order by 的执行。
select *,
row_number() over(partition by BM order by XZ desc) rn from GZB;
统计结果
pid XB BMid XZ rn 小7 男 C 1006 1 小6 男 C 1005 2 小5 男 C 1004 3 小4 男 C 1003 4 小3 男 C 1002 5 小11 男 B 1010 1 小10 男 B 1009 2 小9 男 B 1008 3 小8 男 B 1007 4 小2 男 B 1001 5 小15 男 A 1014 1 小14 男 A 1013 2 小13 男 A 1012 3 小12 男 A 1011 4 小1 男 A 1000 5
转载请注明出处