Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Den niedrigsten Wert in einer Tabelle finden, der größer als ein bestimmter Wert ist

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

Dadurch wird ein Index auf mytable(value) effizient verwendet und COUNT(STOPKEY) .

Einzelheiten zur Leistung finden Sie in diesem Artikel in meinem Blog: