繁体   English   中英

考虑重复的SQL查询使用限制

[英]SQL query using limit while considering duplicates

我正在使用一个查询来使用限制从表中获取前3条记录,如下所示:

select name, salary 
from employees 
order by salary desc
limit 3;

问题是可能有雇员的工资相同,在这种情况下我不希望我的限额为3

----------------------------
|    name    |    salary   |
----------------------------
|   Robert   |    10000    |
|     Jon    |    20000    |
| Alexander  |    30000    |
|    James   |    20000    |
|    Mike    |    40000    |
----------------------------

因此,在此示例中,我希望限制为4,因为有两名雇员的工资为20000。是否有一种方法可以考虑重复项而无需事先知道会有多少人?

您需要首先确定要包括的薪资范围。

select name, salary 
  from employees 
 where salary in ( select distinct salary 
                from employees
                order by salary desc
                limit 3 )
 order by salary DESC ;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM