首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用oracle SQL中的"over(partition )“获得第二个最高工资?

如何使用oracle SQL中的"over(partition )“获得第二个最高工资?
EN

Stack Overflow用户
提问于 2017-10-23 08:54:56
回答 2查看 3.4K关注 0票数 1

我已经通过执行以下查询获得了它:

代码语言:javascript
复制
   SELECT * 
    FROM
      (
      SELECT emp_id,salary,row_number() over(order by salary  desc) AS rk 
      FROM test_qaium
      ) 
    where rk=2;

但是我的一位朋友要求我从employees表中找到第二个MAX薪资必须在oracle中使用"over(partition by )“。谁来帮帮我。并澄清了oracle中"Partition by“的概念。

EN

Stack Overflow用户

发布于 2017-10-23 09:00:15

如果多名员工的薪资相同,则查询将不起作用.

尝试:

代码语言:javascript
复制
SELECT emp_id,
       salary,
       dense_rank() over(order by salary desc) AS rk 
FROM test_qaium

partition by子句就像group by,这里没有什么需要分组的。

票数 2
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46885356

复制
相关文章

相似问题

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