sudhakarthikeyan Ответов: 1

Как получить третью по величине зарплату в SQL server


Таблица сотрудников выглядит следующим образом

Name	Salary
Ram     12000
Asif	15000
Suresh	15000
mohan	18000
Bhuva	19000
asif	25500
Pavan	34000


я хочу получить третью по величине зарплату, используя приведенную выше таблицу сотрудников.

Что я уже пробовал:

(удалено повторение)

1 Ответов

Рейтинг:
1

OriginalGriff

Попробуй:

WITH myTableWithRows AS (
	SELECT (ROW_NUMBER() OVER (ORDER BY myTable.Salary DESC)) as row,*
	FROM myTable)
SELECT * FROM myTableWithRows WHERE row = 3

Или:
SELECT * 
FROM (
    SELECT *, ROW_NUMBER() OVER (ORDER BY Salary DESC) AS RowNum
    FROM [MyTable]   
) AS MyDerivedTable
WHERE MyDerivedTable.RowNum = 3