row number over partition by oracle版本有什么关系

如题所述

  Oracle中row_number() over(partition by xxx order by xxx)的用法
  row_number() over(partition by a order by b)
  上面的意思就是将查询结果按照a字段分组(partition),
  然后组内按照b字段排序,至于asc还是desc,可自行选择,
  然后为每行记录返回一个rownumber用于标记顺序
  如同上面这张表的内容,按照deptid分组的,组内按照
  salary降序排序的,rank就是返回的rownumber号
  这个就是按照deptid=10分组了,组内有两个记录,
  salary降序排序,后面rank自然就是1,2了
温馨提示:答案为网友推荐,仅供参考
相似回答