Oracleでlimit offsetもどき

えぇ〜っと確かORDER byがあるときはこうしないとだめだったような


でもって
ユーティリティ作る場合はINLINE_VIEWを自動でaddしてあげるやつがあれば
okかと

SELECT
    *
FROM
    (SELECT
        INLINE_VIEW.*,
        ROWNUM AS RM
    FROM
        (SELECT
            col1,
            col2
        FROM
            tableA
        ORDER BY
            col1,
            col2
        ) INLINE_VIEW
    )
WHERE
    RM BETWEEN 2 AND 3

追記
 書いたあとになって・・・ん〜本当にそうだったかなぁ〜。
 あとで見てみる。


SQLServer

SELECT
    TOP 5 *
FROM
    (
		SELECT
            col1,
            col2
        FROM
            tableA
        ORDER BY
            col1,
            col2
    ) AS INLINE_VIEW
ORDER BY
    ROWNUM

SELECT 
	* 
FROM ( 
		SELECT
            col1,
            col2,
            ROW_NUMBER() OVER (ORDER BY col1, col2) ROWNUM
        FROM
            tableA
	 ) AS INLINE_VIEW 
WHERE 
	ROWNUM BETWEEN 2 AND 3
ORDER BY 
	ROWNUM