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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。