我希望首先将结果集限制为n个顶级薪资,然后反转结果集并将其限制为1,从而获得表中的第n个最高薪资。
我使用了这个查询,结果出现了一个错误:-
select *
from salaries
where emp_no=(select * from salaries order by salary desc limit 2) order by salary asc limit 1; 错误声明子查询返回多行。
发布于 2018-09-29 07:38:13
有一种方法:
SELECT s.* FROM
(SELECT * FROM `salaries` ORDER BY salary DESC LIMIT 2) s
ORDER BY s.salary ASC LIMIT 1;永远不要使用SELECT *,请参阅-is-evil
发布于 2018-09-29 08:04:26
发布于 2018-09-29 08:23:35
select * from salaries
order by salary
desc limit 1 offset 4;https://stackoverflow.com/questions/52566184
复制相似问题