如何找到每个部门的第 5 高薪水?

How to find 5th highest salary in each department?

我有一个附件table,每个部门有 7 条记录。 我需要查询每个部门的第 5 高薪水。

使用row_number()如果你是运行MySQL,这需要8.0版本):

select *
from (
    select 
        t.*, 
        row_number() over(partition by department order by salary desc) rn
    from mytable t
) t
where rn = 5