Ole: SQL Abfrage

Beitrag lesen

hi

ich habe eine datenbank und muss für diese eine abfrage basteln.
Ziel des ganzen soll sein, das nur der datensatz aus der datenbank gelesen wird der auch wirklich benötigt wird.

ginge im prinzip ja ganz einfach wenn mir der wert eines felder bekannt wäre mit:

SELECT id, Texte_GB, Texte_DE from texte where id = bla ORDER BY id

nun ist das allerdings so, das ich keinen wert vorher kenne.
bisher behelfe ich mir mit folgendem konstrukt:

SELECT id, Texte_GB, Texte_DE FROM texte ORDER BY id

ferner definiere ich mir noch 2 varibablen START und ANZAHL
was ja bekanntlich erstmal alle datensätze aus der DB ausliesst und sie mir nach id ortnet.

Im zweiten schritt lass ich mir die datensätze ausgeben indem ich sage das er mir mit dem datensatz START beginnen soll und mir ANZAHL an datensätzen anzeigen soll.

nachteil der ganzen geschichte ist, das ich immer alle datensätze lade...bei einer db mit über 100mb dauert das schon ein wenig.

Wie ich den ersten und den letzen wert bekomme ist mir schon klar:

SELECT min(id) FROM texte
SELECT max(id) FROM texte

den min-wert brauch ich ja für den start.
wie kann ich denn nun sagen, das ich nur den nächstgrößeren (vom aktuellen) oder nächstkleineren wert haben möchte?

sobald ich die erste seite aufrufe bekomme ich ja den kleinsten id wert.
wie geht es an der stelle weiter?
ferner hab ich noch keinen plan davon wie ich sagen kann "springe zum hundersten wert".

für hilfe wäre ich dankbar :)

alles liebe
ole
(8-)>