[英]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.