row_number():为查询出来的每一行记录生成一个序号
用法:select row_number() over(order by col desc) as rownumber from tab
rank():over子句中排序字段值相同的情况下,增加一列以示区别,不相同的序列的序号为当前的当前记录数
用法:select rank() over(order by col desc) as rank from tab
rank | col |
1 | aa |
1 | aa |
3 | bb |
4 | cc |
dense_rank():over子句中排序字段值相同的情况下,增加一列以示区别,不相同的序列的序号接上前一个序号
用法:select dense_rank() over(order by col desc) as denserank from tab
rank | col |
1 | aa |
1 | aa |
2 | bb |
3 | cc |
partition 分类统计标识
用法: select col1,col2,sum(col3) over(partitin by col1) from tab 按照col1列分类对col3进行求和统计