Oracle
 sql >> Database >  >> RDS >> Oracle

Trovare il valore più basso in una tabella maggiore di un determinato valore

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

Questo utilizzerà entrambi in modo efficiente un indice su mytable(value) e COUNT(STOPKEY) .

Vedi questo articolo nel mio blog per i dettagli sulle prestazioni: