Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Znalezienie najniższej wartości w tabeli większej niż określona wartość

SELECT  *
FROM    (
        SELECT  *
        FROM    (
                SELECT  *
                FROM    mytable
                WHERE   value > 10000
                ORDER BY
                        value
                )
        UNION ALL
        SELECT  *
        FROM    (
                SELECT  *
                FROM    mytable
                ORDER BY
                        value DESC
                )
        )
WHERE   rownum = 1

Spowoduje to efektywne wykorzystanie indeksu w mytable(value) i COUNT(STOPKEY) .

Zobacz ten artykuł na moim blogu, aby uzyskać szczegółowe informacje na temat wydajności:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Skrypty uruchamiania i zatrzymywania EBS R12

  2. Parametryzacja nazwy tabeli w pliku wejściowym sqlplus

  3. Wybieranie n pierwszych elementów grupy w Oracle

  4. Powiązanie parametrów zapytania według nazwy z ODP.NET

  5. Funkcja JPQL LOWER w wyrażeniu IN