如何在不使用限制的情况下在MySql中获得前5名工资

Par*_*gre 1 mysql

以下查询在MySql中不起作用.

SELECT * /*This is the outer query part */
FROM Employee Emp1
WHERE (N-1) = ( /* Subquery starts here */
SELECT COUNT(DISTINCT(Emp2.Salary))
FROM Employee Emp2
WHERE Emp2.Salary > Emp1.Salary)
Run Code Online (Sandbox Code Playgroud)

帮帮我.

Rah*_*thi 5

试试这个:

SET @n := 0;
SELECT * FROM
(SELECT salary, @n := @n + 1 AS t1 FROM Employee ORDER BY salary DESC)
  AS t
WHERE t1 <= 5
Run Code Online (Sandbox Code Playgroud)

工作演示