Mailinglisten-Archive |
Hans Egg schrieb: > Hallo > > Am 16.01.2008 um 10:35 schrieb Sebastian Mendel: > >> Jörn Grube schrieb: >>> Aber ist es auch möglich, den ersten UND letzten >>> Datensatz zu kriegen und das auch noch in einer Abfrage zu >>> erschlagen? >>> Oder brauchts dafür auf jeden Fall zwei Abfragen? Die Anzahl >>> Datensätze >>> ist vorher nicht bekannt. >> also ich wüsste nur mit einem sinnlos komplexen Query mit Subqueries > > So sehr komplex ist das eigentlich gar nicht: > > SELECT * FROM tab > WHERE id = (SELECT min(id) FROM tab) > OR id = (SELECT max(id) FROM tab) ja ok, aber nur wenn er den ersten und letzten Datensatz anhand des PK identifiziert, in dem Fall stimmt das natürlich, ansonsten würde die Abfrage schon komplexer aussehen, und zuletzt stellt sich die Frage ob es sich lohnt, der MySQL (> 5) bedingt durch das OR intern die Abfrage eh in ein UNION umwandelt. http://dev.mysql.com/doc/refman/5.0/en/index-merge-union.html -- Sebastian
php::bar PHP Wiki - Listenarchive