sql >> Databáze >  >> RDS >> Oracle

Nalezení nejnižší hodnoty v tabulce větší než určitá hodnota

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

To obojí efektivně využije index na mytable(value) a COUNT(STOPKEY) .

Podrobnosti o výkonu naleznete v tomto článku na mém blogu:



  1. Mohu nakonfigurovat maximální délku identifikátoru Aurora DB? Jak?

  2. Získejte v Oracle pouze datum bez času

  3. Přidat přihlášení k propojenému serveru na SQL Server (příklad T-SQL)

  4. Genealogický strom mysql