当前位置: 代码迷 >> SQL >> sql over()根本讲解
  详细解决方案

sql over()根本讲解

热度:56   发布时间:2016-05-05 13:29:29.0
sql over()基本讲解

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

rankcol
1aa
1aa
3bb
4cc

?

?????????????????????????????????????????????????

dense_rank():over子句中排序字段值相同的情况下,增加一列以示区别,不相同的序列的序号接上前一个序号

????? 用法:select dense_rank() over(order by col desc) as denserank from tab

?

rankcol
1aa
1aa
2bb
3cc

?

?

partition 分类统计标识

用法: select col1,col2,sum(col3) over(partitin by col1)?from tab 按照col1列分类对col3进行求和统计?

  相关解决方案