Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So finden Sie das fünfthöchste Gehalt in einer einzigen Abfrage in SQL Server

Erstellen Sie in SQL Server 2005 und 2008 eine geordnete Unterauswahlabfrage und fügen Sie dann eine Where-Klausel hinzu, wobei der Rang =5 ist.

select
  *
from
(
  Select
    SalesOrderID, CustomerID, Row_Number() Over (Order By SalesOrderID) as RunningCount
  From
    Sales.SalesOrderHeader
  Where
    SalesOrderID > 10000
  Order By
    SalesOrderID 
) ranked
where 
  RunningCount = 5