oracle ROW_NUMBER() OVER (PARTITION BY COL1 ORDER BY COL2)
2024-10-20 06:38:15
工作中遇到的一个问题,需要对某列进行分组排序,取其中排序的第一条数据项
用到了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了!
最新文章
- bzoj3680模拟退火
- c++的多线程和多进程
- JavaScript 常用小功能
- sql server和mysql中分别实现分页功能
- CentOS 7 AMD64安装nginx和mysql
- maven3.04管理jetty9.2.10启动web项目
- Windows常见蓝屏故障分析
- [LeetCode]题解(python):095-Unique Binary Search Trees II
- laravel路由使用【总结】
- 分布式数据库TiDB的部署
- dubbo 序列化机制之 hessian2序列化实现原理分析
- 7.8 paint.c 程序
- 广商博客冲刺第四五天new
- hbase 核心知识
- mySQL 约束 (Constraints)
- 关于InfiniBand几个基本知识点解释
- 180801-Spring之定时任务基本使用篇
- powerdesigner安装图解
- git远程易错点
- mysql(五)查询缓存
热门文章
- 爬虫7:selenium
- oracle创建表空间、用户、权限
- docker微服务部署之:一,搭建Eureka微服务项目
- 架构师养成记--17.disrunptor 多生产者多消费者
- C#-语言基础+数据类型+运算符
- Angular Material 按钮图标系列
- tomcat startup.brt启动一闪而过
- 【性能调优】:记录一次数据库sql语句性能调优过程
- java.lang.Exception: The server rejected the connection: None of the protocols were accepted
- webpack原理探究 &;&; 打包优化