Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak znaleźć piątą najwyższą pensję w pojedynczym zapytaniu w SQL Server?

W SQL Server 2005 i 2008 utwórz rankingowe zapytanie podselekcji, a następnie dodaj klauzulę WHERE, w której pozycja =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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Instrukcja Delete w SQL jest bardzo powolna

  2. Usuń wszystkie tabele, których nazwy zaczynają się od określonego ciągu

  3. Funkcje okna — suma bieżąca z resetowaniem

  4. Porównaj plany wykonania w SQL Server

  5. Dynamiczny SQL (przekazywanie nazwy tabeli jako parametru)