Предположим, что есть таблица «Сотрудник» с зарплатой в качестве одного из столбцов.
Я хочу получить максимальную зарплату «Top N» в одиночку из таблицы.
Как это можно легко получить?
SELECT TOP 1 employee.name, employee.salary from ( SELECT TOP N employee.name, employee.salary FROM employee ORDER BY employee.salary DESC )
Это дает N-е сверху.
WITH ( SELECT e.*, ROW_NUMBER() OVER (ORDER BY employee.salary DESC) AS rn FROM employee ) AS q SELECT * FROM q WHERE rn = @n
SELECT TOP 1 E.Salary FROM (SELECT TOP(N) Salary FROM Employee ORDER BY Salary DESC) E ORDER BY E.Salary
SELECT TOP 1 * FROM Employees ORDER BY Employees.Salary DESC
SELECT TOP 1 Salary FROM (SELECT TOP(N) Salary FROM Employee ORDER BY Salary DESC) E
SELECT TOP N employee.name, employee.salary FROM employee ORDER BY employee.salary DESC