2016-06-13 11 views
0

私はOracleには新しいので、ページ区切りロジックをどのように処理するかはわかりません。ページ区切り論理 - Oracle

開始値と限界値に基づいて結果を返すクエリが必要です。

私は値を与える場合は、値= 0とリミット= 5 を開始し、それは= 5開始値場合は、以下のレコードを

id name 
1 abc 
2 def 
3 ghi 
4 jkl 
5 qqq 

を返すべきものと想定するためのResultSet以下

id name 
1 abc 
2 def 
3 ghi 
4 jkl 
5 qqq 
6 www 
7 eee 
8 ttt 
9 yyy 
10 uuu 
11 iii 
12 ppp 
13 aaa 
14 sss 
15 ddd 
16 fff 
17 ggg 
18 hhh 
19 jjj 
20 kkk 

を参照してください。制限値= 15の場合、下の結果を返す必要があります。

id name 
5 qqq 
6 www 
7 eee 
8 rrr 
9 ttt 
10 yyy 
11 uuu 
12 iii 
13 ooo 
14 ppp 
15 ddd 
16 fff 
17 ggg 
18 hhh 
19 jjj 

謝辞質問を手伝ってください 私に何かがある場合は教えてください。

ありがとうございました

+0

「oracle pagination」でグーグルを試しましたか? – sstan

+1

[Oracleのページングのベストプラクティス](http://stackoverflow.com/questions/13738181/best-practice-for-pagination-in-oracle)、または[Oracleとページングする](http: /stackoverflow.com/questions/241622/paging-with-oracle)。 – sstan

+0

ええ、私は開始値と制限条件でクエリが必要です。あなたが提供したリンクは、ページ番号とページサイズ/開始値と終了値です。 – Naresh

答えて

0

これはおそらくバインド変数を使用することをお勧めします。 Oracleバインド変数に精通していない場合は、約15分を読んでください。非常に役立ちます。

select id, name 
from your_table 
where id between :start_value and :start_value + :limit_value - 1;