Web アプリケーションを開発していて、順序付けされた結果をページングする必要があります。私は通常、この目的のために LIMIT/OFFSET を使用します。
Oracleで順序付けされた結果をページングする最良の方法はどれですか? rownum とサブクエリを使用したサンプルをいくつか見てきました。その通りですか?この SQL を Oracle に変換するサンプルを教えてください。
SELECT fieldA,fieldB
FROM table
ORDER BY fieldA
OFFSET 5 LIMIT 14
(私はOracle 10gを使用していますが、それだけの価値があります)
ありがとう!
回答: karim79 によって以下に提供されたリンクを使用すると、この SQL は次のようになります。
SELECT * FROM (
SELECT rownum rnum, a.*
FROM(
SELECT fieldA,fieldB
FROM table
ORDER BY fieldA
) a
WHERE rownum <=5+14
)
WHERE rnum >=5