2016-06-13 6 views
0

Da ich neu bei Oracle bin, bin ich mir nicht sicher, wie ich mit der Paginierungslogik umgehen soll.Paginierungslogik - Oracle

Ich brauche eine Abfrage, die die Ergebnisse basierend auf dem Startwert und dem Grenzwert zurückgibt.

Siehe unten stehende 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 

Für nehme an, wenn ich die Werte Wert geben start = 0 und limit = 5 dann sollte es die folgenden Aufzeichnungen

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

wenn Startwert = return 5 und Limit = 15, dann sollte ich das folgende Ergebnis zurückgeben

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 

Bitte Bitte helfen Sie mir bei der Anfrage Bitte lassen Sie mich wissen, wenn überhaupt.

Danke

+0

Haben Sie versucht, "Orakel Paginierung" zu googeln? – sstan

+1

Mögliches Duplikat von [Best Practice für Paginierung in Oracle?] (Http://stackoverflow.com/questions/13738181/best-practice-for-pagination-in-oracle) oder auch [Paging with Oracle] (http://stackoverflow.com/questions/241622/paging-with-oracle). – sstan

+0

Ja, ich brauche eine Abfrage mit Startwert und Limitbedingungen. Die von Ihnen angegebenen Links entsprechen Seitenzahl und Seitengröße/Anfangs- und Endwert. – Naresh

Antwort

0

Wahrscheinlich am besten Bind Variablen dafür zu verwenden. Wenn Sie mit Bind Variablen von Oracle nicht vertraut sind, verbringen Sie 15 Minuten damit, sie zu lesen, sie sind sehr hilfreich.

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