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

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

实例准备:

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

进行查询操作:

SELECT DEPTID
,SALARY
,ROW_NUMBER() OVER(PARTITION BY DEPTID ORDER BY SALARY DESC) AS RN
FROM EMPLOYEE;

执行结果:

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

最新文章

  1. bzoj3680模拟退火
  2. c++的多线程和多进程
  3. JavaScript 常用小功能
  4. sql server和mysql中分别实现分页功能
  5. CentOS 7 AMD64安装nginx和mysql
  6. maven3.04管理jetty9.2.10启动web项目
  7. Windows常见蓝屏故障分析
  8. [LeetCode]题解(python):095-Unique Binary Search Trees II
  9. laravel路由使用【总结】
  10. 分布式数据库TiDB的部署
  11. dubbo 序列化机制之 hessian2序列化实现原理分析
  12. 7.8 paint.c 程序
  13. 广商博客冲刺第四五天new
  14. hbase 核心知识
  15. mySQL 约束 (Constraints)
  16. 关于InfiniBand几个基本知识点解释
  17. 180801-Spring之定时任务基本使用篇
  18. powerdesigner安装图解
  19. git远程易错点
  20. mysql(五)查询缓存

热门文章

  1. 爬虫7:selenium
  2. oracle创建表空间、用户、权限
  3. docker微服务部署之:一,搭建Eureka微服务项目
  4. 架构师养成记--17.disrunptor 多生产者多消费者
  5. C#-语言基础+数据类型+运算符
  6. Angular Material 按钮图标系列
  7. tomcat startup.brt启动一闪而过
  8. 【性能调优】:记录一次数据库sql语句性能调优过程
  9. java.lang.Exception: The server rejected the connection: None of the protocols were accepted
  10. webpack原理探究 && 打包优化