sql >> Database teknologi >  >> RDS >> Oracle

Sådan får du næststørste eller tredjestørste post fra en tabel

SELECT *
FROM (
  SELECT some_column, 
         row_number() over (order by your_sort_column desc) as row_num
  FROM some_table
) t
WHERE row_num = 3


Hvis du forventer, at mere end én række har den samme værdi i your_sort_column du kan også bruge rank()-funktionen

SELECT *
FROM (
  SELECT some_column, 
         rank() over (order by your_sort_column desc) as row_rank
  FROM some_table
) t
WHERE row_rank = 3
Dette kan returnere mere end én række..

  1. PostgreSQL Incremental Backup og Point-In-Time Recovery

  2. SQL INSERT INTO-sætning

  3. Sådan aktiverer du alle kontrolbegrænsninger i SQL Server-databasen - SQL Server / TSQL vejledning del 88

  4. Hvad er forskellene mellem et klynget og et ikke-klynget indeks?