经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库运维 » Oracle » 查看文章
oracle ROW_NUMBER() OVER (PARTITION BY COL1 ORDER BY COL2)
来源:cnblogs  作者:灬司马安福灬  时间:2018/11/1 9:27:50  对本文有异议

工作中遇到的一个问题,需要对某列进行分组排序,取其中排序的第一条数据项

用到了ROW_NUMBER() OVER(PARTITION BY COL1 ORDER BY COL2)来解决此问题。

实例准备:

  1. CREATE OR REPLACE TABLE EMPLOYEE (
  2. EMPID INT,
  3. DEPTID INT,
  4. SALARY DECIMAL(10,2)
  5. );
  6. INSERT INTO EMPLOYEE VALUES(1,10,234.00);
  7. INSERT INTO EMPLOYEE VALUES(2,10,1233.00);
  8. INSERT INTO EMPLOYEE VALUES(3,20,600.00);
  9. INSERT INTO EMPLOYEE VALUES(4,20,4512.00);
  10. INSERT INTO EMPLOYEE VALUES(5,30,3424.00);
  11. INSERT INTO EMPLOYEE VALUES(6,30,1232.00);
  12. INSERT INTO EMPLOYEE VALUES(7,40,4445.00);
  13. INSERT INTO EMPLOYEE VALUES(8,40,9999.00);
  14. INSERT INTO EMPLOYEE VALUES(9,40,212000.00);

进行查询操作:

  1. SELECT DEPTID
  2. ,SALARY
  3. ,ROW_NUMBER() OVER(PARTITION BY DEPTID ORDER BY SALARY DESC) AS RN
  4. FROM EMPLOYEE;

执行结果:

从上面的结果可以看出来是对部门进行分组,按照薪水来进行排序,之后的处理可以根据自己的需求来进行处理就OK了!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号