当前位置:数据库 > Oracle >>

Oracle中row_number() over(partition by xxx order by xxx)的用法


Oracle中row_number() over(partition by xxx order by xxx)的用法
 
row_number() over(partition by a order by b)
  www.zzzyk.com  
上面的意思就是将查询结果按照a字段分组(partition),
然后组内按照b字段排序,至于asc还是desc,可自行选择,
然后为每行记录返回一个rownumber用于标记顺序
 
如同上面这张表的内容,按照deptid分组的,组内按照
salary降序排序的,rank就是返回的rownumber号
  www.zzzyk.com  
这个就是按照deptid=10分组了,组内有两个记录,
salary降序排序,后面rank自然就是1,2了
 
Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,