如何在SQL Server中的单个查询中找到第五高的薪水

最佳答案

在SQL Server 2005和2008中,创建一个排序的子选择查询,然后添加一个where子句,其中rank = 5。

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

10-01 20:34