Select 整行以及第三高的薪水

Select entire row as well as third highest salary

我需要获取薪水第三高的用户的所有行详细信息。

我的查询

select min(salary)as minsalary from (select * from userdetails 
        order by salary desc limit 3) as details

当前输出:-

Array
(
  [0] => stdClass Object
    (
        [minsalary] => 300
    )

)

我还需要获取完整的行详细信息以及此数组作为单个数组输出。我怎样才能改变我的查询。

请帮忙。

试试这个:-

 SELECT * FROM userdetails ORDER BY salary DESC limit 2,1;

另一种查找 nth Highest salary 的方法可能是:-

SELECT * FROM userdetails usr1
WHERE (n-1) = ( 
    SELECT COUNT(DISTINCT(usr2.salary )) 
    FROM  userdetails usr2 
    WHERE usr2.salary > usr1.salary )