对于oracle的系统函数row_number() over (partition by para1 order by col1[col2...] [desc|asc]) 的简单用法
-
首先选择一张合适的表,如果没有,在当前用户有权限的前提下建立一张表,并导入少量数据,示例使用的表名字是test,可以看到,id和部门的排列毫无规律
-
先说一下函数的意思吧,row_number() over (partition by para1 order by col1【col2...】【asc|desc】) 说的是将查询结果按照para1字段分区,然后每个分区里面的数据再按照col1、col2、的优先级顺序排序, 至于asc 和desc 就是升序和降序了,可以不写,默认是asc
-
开始使用,按照要求:以部门分区、以id号排序,倒序。
-
当然,若是以部门分区、以姓名排序,只需要将order by id 改为order by username 即可
END