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

Oracle 11gの選択クエリにオフセットを追加するにはどうすればよいですか?

    12cで簡単に実行できます OFFSETを指定する 。

    12cで 、

    SELECT val
    FROM   table
    ORDER BY val
    OFFSET 4 ROWS FETCH NEXT 4 ROWS ONLY;
    

    11gでも同じことを行うには 以前は、ROWNUMを使用する必要があります 2回、inner query およびouter query それぞれ。

    11gの同じクエリ 、

    SELECT val
    FROM   (SELECT val, rownum AS rnum
            FROM   (SELECT val
                    FROM   table
                    ORDER BY val)
            WHERE rownum <= 8)
    WHERE  rnum > 4;
    

    ここでOFFSET は4です。



    1. OracleWHILELOOPの例

    2. TABLOCK vs TABLOCKX

    3. Oracle SQLクエリの数値に先行ゼロを追加するにはどうすればよいですか?

    4. SQL Server(T-SQL)から電子メールでクエリ結果を送信するときにパディングを削除する