我想找到薪水最高的人

Gop*_*pal 3 mysql

我正在使用MySQL,我在employee表中有50条记录.我想找到薪水最高的人.

lc.*_*lc. 5

使用LIMIT,指定偏移量和行数.

要按照最高工资获得排名第22位的人,请执行以下操作:

SELECT person
FROM employee
ORDER BY salary DESC
LIMIT 21, 1
Run Code Online (Sandbox Code Playgroud)

注意21这里的用法.这是因为初始行(第1个最高工资)的偏移实际上是0.因此,第22个最高工资实际上是21的偏移(基于0的计数中的第21行,或"跳过21行").


为了获得第22个最高薪水的人,你需要一个更高级别的间接.尝试:

SELECT person
FROM employee
WHERE salary = (
    SELECT DISTINCT salary
    FROM employee
    ORDER BY salary DESC
    LIMIT 21, 1
)
Run Code Online (Sandbox Code Playgroud)