SQL查询使用限制,同时考虑重复

时间:2017-03-29 01:15:20

标签: sql database limit querying

我正在使用查询从表中获取前三条记录,使用限制如下:

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.有没有办法在不事先知道会有多少人的情况下考虑重复?

1 个答案:

答案 0 :(得分:2)

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

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