Supportnet / Forum / Skripte(PHP,ASP,Perl...)
Oracle SELECT Problem
Frage
Hallo,
ich möchte eine Teilmenge (ähnlich MySQL LIMIT) ausgegeben haben.
Ich mache das wie folgt:
SELECT * FROM (SELECT * FROM TABLE ORDER BY FIELD) WHERE ROWNUM BETWEEN 0 AND 5
Liefert 5 Ergebnisse.
SELECT * FROM (SELECT * FROM TABLE ORDER BY FIELD) WHERE ROWNUM BETWEEN 0 AND 10
Liefert 10 Ergebnisse.
SELECT * FROM (SELECT * FROM TABLE ORDER BY FIELD) WHERE ROWNUM BETWEEN 5 AND 10
Liefer KEIN Ergebnis. Obwohl ich hier eigentlich fünf Datensätze erwarte. Wo liegt der Denkfehler?
Antwort 1 von dan_dusseldorf
Lösung gefunden:
SELECT * FROM (SELECT feld1,feld2,feld3, ROW_NUMBER() OVER(ORDER BY feld1) zaehler FROM TABELLE) WHERE zaehler BETWEEN 5 AND 10
SELECT * FROM (SELECT feld1,feld2,feld3, ROW_NUMBER() OVER(ORDER BY feld1) zaehler FROM TABELLE) WHERE zaehler BETWEEN 5 AND 10