111,119
社区成员
发帖
与我相关
我的任务
分享
create table employee (empid int ,deptid int ,salary decimal(10,2))
insert into employee values(1,10,5500.00)
insert into employee values(2,10,4500.00)
insert into employee values(3,20,1900.00)
insert into employee values(4,20,4800.00)
insert into employee values(5,40,6500.00)
insert into employee values(6,40,14500.00)
insert into employee values(7,40,44500.00)
insert into employee values(8,50,6500.00)
insert into employee values(9,50,7500.00)
SELECT * FROM employee
SELECT * FROM (SELECT *, Row_Number() OVER (partition by deptid ORDER BY salary desc) rank FROM employee) AS newtable WHERE newtable.rank>2
/*
empid deptid salary rank
----------- ----------- --------------------------------------- --------------------
5 40 6500.00 3
(1 行受影响)
*/