ROW_NUMBER() OVER函数使用方法

ROW_NUMBER是一个分析函数,语法如下:

ROW_NUMBER( )
   OVER ([ query_partition_clause ] order_by_clause)

它为order_by_caluse中指定的有序顺序序列(从1开始)分配一个唯一的数字到它应用的每一行

例子:

统计一个部门下所有员工工资排行

测试数据

create table employee( empid int,--ID deptid int,--部门ID ename varchar2(20),--姓名 salary decimal(10,2) --工资 );

insert into employee values(1,10,'刘一',8800.00);
insert into employee values(2,'陈二',6200.00);
insert into employee values(3,'张三',9100.00);
insert into employee values(4,20,'李四',10200.00);
insert into employee values(5,'王五',9500.00);
insert into employee values(6,'赵六',7500.00);
insert into employee values(7,30,'孙七',12000.00);
insert into employee values(8,'周八',5800.00);
insert into employee values(9,'吴九',10100.00);
insert into employee values(10,'郑十',9500.00);

sql脚本

select ename,deptid,row_number() over(partition by deptid order by salary desc) rank from employee

作者:itmyhome

相关文章

Java Oracle 结果集是Java语言中处理数据库查询结果的一种方...
Java AES和Oracle AES是现代加密技术中最常使用的两种AES加密...
Java是一种广泛应用的编程语言,具备可靠性、安全性、跨平台...
随着移动互联网的发展,抽奖活动成为了营销活动中不可或缺的...
Java和Oracle都是在计算机领域应用非常广泛的技术,他们经常...
Java 是一门非常流行的编程语言,它可以运行于各种操作系统上...