sql >> データベース >  >> RDS >> Oracle

特定の値より大きいテーブル内の最小値を見つける

    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
    

    これにより、mytable(value)のインデックスが効率的に使用されます。 およびCOUNT(STOPKEY)

    パフォーマンスの詳細については、ブログのこの記事を参照してください:



    1. SQL Serverで「datetime2」を「datetimeoffset」に変換します(T-SQLの例)

    2. MariaDBで数値をフォーマットする方法

    3. HibernateがLONGoverCLOBの使用に切り替えたのはなぜですか?

    4. Where句内のIfステートメント