[Seasar-user:10529] Re: [DBFlute]Paging のSQLについて(Oracle)
kubo
[E-MAIL ADDRESS DELETED]
2007年 9月 14日 (金) 15:39:03 JST
久保です。
米原さん、こんにちわ
> 確かに、1ページ目のSQLを2ページ目と同様に記述
> してみると、若干取得順序が変わる場合があることを
> 確認致しました。
>
> ■1ページ目(修正版)
> SELECT * FROM
> (SELECT base.*, rownum as rn FROM
> (SELECT A_TBL.A_CD, A_TBL.A_FLG FROM A_TBL
> ORDER BY A_TBL.A_FLG asc) base)
> WHERE rn > 0 and rn <= 10
>
>
> ORDER BYでユニークなカラムを指定していない以上、
> 元の方法で必ず重複する条件、及び修正版で必ず重複しないか、
> といった証明は難しいですが、より取得順序の精度が高いのは
> 修正版の方だと思われます。(少なくとも、現在報告を受けています
> 重複は回避できるそうですし)
>
> こちらの修正の取込をご検討頂けないでしょうか?
うおお、ありがとうございます!(大感謝)
OracleのRownumは本当にクセが強いため、
もう一度自分でも検証してみます。
問題なさそうであれば、提示して頂きました修正を
反映させたいと思います。
本当にありがとうございます。
もし何か追加情報ありましたらまたよろしくお願いします。
Seasar-user メーリングリストの案内