首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle10g -SQL

Oracle10g -SQL
EN

Stack Overflow用户
提问于 2012-07-16 14:28:15
回答 2查看 57关注 0票数 1

如何在emp表中找到每个部门的前两名薪资?

代码语言:javascript
复制
Emp Table
-----------
Row_id Salary Dept 
R1       2000    D1
R2       3000    D1
R3       4000    D1
R4       5000    D1
R5       2000    D2
R6       3000    D2
R7       4000    D2
R8       5000    D2
EN

回答 2

Stack Overflow用户

发布于 2012-07-16 14:31:51

代码语言:javascript
复制
select 
    row_id,salary,dept 
from
(
select 
    row_number() over (partition by dept order by salary desc) as sno,
    row_id,salary,dept 
from emp
) t 
where sno<=2
票数 3
EN

Stack Overflow用户

发布于 2012-07-16 14:33:58

请试试这个

代码语言:javascript
复制
select T1.Dept,T2.Salary  
from Emp_Table T1  join Emp_Table T2
on T1.Dept=T2.Dept
and T1.Salary>=T2.Salary
group by T1.Dept,T2.Salary 
having COUNT(*) <=2
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11499077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档