Oracle
 sql >> Base de données >  >> RDS >> Oracle

Recherche de la valeur la plus basse dans un tableau supérieure à une certaine valeur

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

Cela utilisera efficacement un index sur mytable(value) et COUNT(STOPKEY) .

Consultez cet article sur mon blog pour plus de détails sur les performances :