Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да получите втори по големина или трети по големина запис от таблица

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


Ако очаквате повече от един ред да има една и съща стойност във your_sort_column можете също да използвате функцията rank()

SELECT *
FROM (
  SELECT some_column, 
         rank() over (order by your_sort_column desc) as row_rank
  FROM some_table
) t
WHERE row_rank = 3
Това може да върне повече от един ред..

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. TNSPING ОК, но sqlplus дава ORA-12154?

  2. Как да инсталирам Oracle Instant Client на Mac?

  3. Как да решим ORA-29280:невалиден път към директорията

  4. Има ли функция за разделяне на низ в PL/SQL?

  5. Как да получа Oracle SCHEMA като DDL скриптове с DBMS_METADATA (и SCHEMA_EXPORT)