sql >> Base de Datos >  >> RDS >> Oracle

Encontrar el valor más bajo en una tabla mayor que un cierto valor

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

Esto usará eficientemente un índice en mytable(value) y COUNT(STOPKEY) .

Consulte este artículo en mi blog para obtener detalles sobre el rendimiento: