Hyperion hat geschrieben:BlackJack hat geschrieben:@nvidia: Sicher dass das mit LIMIT nicht geht? Welches DBMS steht denn dahinter?
Afair ist LIMIT kein SQL-Standard und wurde (wird?) daher tatsächlich von DBs wie Oracle nicht implementiert. Zumindest bin ich da mal vor Jahren bei einer SQL-Nachhilfe drüber gestoßen, wo der Prof die Studis mit einer netten verschachtelten Query diesbezüglich gequält hat. Hatte mich damals selber gewundert, da ich das einfach mittels LIMIT gelöst hatte.
Das Problem bei ORACLE ist nicht LIMIT, sonder OFFSET (oder das LIMIT-mit-zwei-Argumenten). LIMIT bekommt man naemlich mit ROWNUM gebastelt (ROWNUM < X), aber OFFSET nicht. Damit muss man dann entweder alles vor dem OFFSET wegwerfen, oder man baut eine nested Query, die das serverseitig tut - aber an Effizienz verliert.
Letztlich muessen aber alle DBs die Ordnung ueber alle Zeilen berechnen, wirklich viel verlieren tut man also nicht.
Edit: das ist natuerlich Unsinn was ich da schrieb. Eine DB mit Limit kann natuerlich nur bis zum gewuenschten Limit sortieren - das spart schon was. Nicht die Welt, aber wenn ich schon klugscheisse...