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

Изберете втората минимална стойност в Oracle

Използвайте аналитична функция

SELECT value
  FROM (SELECT value,
               dense_rank() over (order by value asc) rnk
          FROM table)
 WHERE rnk = 2

Аналитичните функции RANK , DENSE_RANK и ROW_NUMBER са идентични с изключение на начина, по който се справят с връзките. RANK използва процес в спортен стил на прекъсване на равенството, така че ако два реда се изравнят за ранг 1, следващият ред има ранг 3. DENSE_RANK дава на двата реда, свързани за първо място, ранг 1 и след това присвоява на следващия ред ранг 2. ROW_NUMBER произволно прекъсва равенството и дава на единия от двата реда с най-ниска стойност ранг 1, а на другия ранг 2.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да използвате функцията NVL() в Oracle

  2. Пример за задействане на Oracle WHEN

  3. Предимства от изучаването на нови DB системи

  4. Oracle SQL - REGEXP_LIKE съдържа знаци, различни от a-z или A-Z

  5. Oracle Data Integrator (ODI)