Хорошо. Прочитайте, что я должен использовать функцию Max:
With RankedWages As
(
Select Wage
, Row_Number() Over( Order By Wage Desc ) As WageRank
From Wages
)
Select Wage
From RankedWages As W1
Where WageRank = (
Select Max(W2.WageRank)
From RankedWages As W2
Where W2.WageRank <= 3
)
Кстати, если бы правилом было то, что у вас было для использования MAX (имеется в виду где угодно), вы могли бы найти chea..eh..находить умный обходной путь, выполнив:
;With RankedWages As
(
Select Wage
, Row_Number() Over( Order By Wage Desc ) As WageRank
From Wages
)
Select Max(Wage)
From RankedWages As W1
Where WageRank = 3