In DB2 existiert das SQL-Schlüsselwort LIMIT nicht. Die folgende Abfrage nach den Zeilen 50 bis 100 funktioniert beispielsweise nicht:
SELECT * FROM TABLE t WHERE t.x='value' ORDER BY t.o DESC LIMIT 50,100
Man muss sich in DB2 über die Funktion rownumber() aushelfen und eine geschachtelte query absetzen:
SELECT * FROM (SELECT t.*, rownumber() OVER (ORDER BY t.o DESC) AS rn FROM TABLE t) AS x WHERE t.x='value' AND rn BETWEEN 50 AND 100 ORDER BY t.o DESC
Durch over kann man in der Klammer mittels ORDER BY eine Sortierreihenfolge festlegen (meistens die gleiche wie in der äußeren query).
Design&Code: