Вы можете попробовать это для получения n-й самой высокой зарплаты, где n = 1,2,3 .... (int)
SELECT TOP 1 salary FROM (
SELECT TOP n salary
FROM employees
ORDER BY salary DESC) AS emp
ORDER BY salary ASC
Надеюсь, это поможет вам.Ниже приведена одна из реализаций.
create table #salary (salary int)
insert into #salary values (100), (200), (300), (400), (500)
SELECT TOP 1 salary FROM (
SELECT TOP 3 salary
FROM #salary
ORDER BY salary DESC) AS emp
ORDER BY salary ASC
drop table #salary
Выходное значение здесь составляет 300, так как 500 является первым самым высоким, 400 является вторым самым высоким и 300 является третьим самым высоким, как показано ниже
salary
300
Здесьn равно 3