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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://xxlcube.blog.csdn.net/article/details/8636536

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了

个人链接:
--------------------------------
新浪微博:http://weibo.com/cwtree

       人人首页:www.renren.com/treelovexiaobei

       优酷空间: http://i.youku.com/cwtree

       科大首页:http://home.ustc.edu.cn/~cwtree/
--------------------------------


展开阅读全文

没有更多推荐了,返回首页