Mailinglisten-Archive |
Cyrill Schumacher schrieb am Mittwoch, den 22. September 1999: > Leider problem: > 1. select rma,kunde,eingang,seriennr from rma order by rma desc limit 5,3 > 2. select rma,kunde,eingang,seriennr from rma limit 5,3 order by rma desc > ich bräuchte Nr. 2 aber leider geht das nicht .... > da Nr 1. ja erst die tabelle umdreht und dann limit ausführt, anstatt > erst zu limitieren und dann die sache umdrehen ! Aha! :) Was Du unter 2. willst, geht so nicht, denn SQL-Anfragen haben immer diesen festen Aufbau: SELECT ... FROM ... WHERE ... GROUP BY ... HAVING ... ORDER BY ... LIMIT ... 1. Der FROM-Teil bestimmt, aus welchen Tabellen die Datensätze stammen und wie sie kombiniert werden 2. Der WHERE-Teil wählt einen Teil davon aus 3. Mit GROUP BY werden die Datensätze evtl. zu Gruppen zusammen- gefaßt und pro Gruppe wird eine Datensatz erzeugt 4. Der SELECT-Teil bestimmt, welche Felder und Berechnungen in den Ergebnisdatensätzen stehen 5. Mit HAVING kann man nun nochmal aus diesen Ergebnisdatensätzen auswählen (also nochmal welche weglassen). 6. Die Ergebnisdatensätze, die übriggeblieben sind, werden gemäß ORDER BY sortiert und man erhält das Endergebnis. 6. Bei MySQL noch: per LIMIT kann man noch einen Teil des Endergebnissen auswählen. LIMIT ist immer der letzte Schritt! Für Dein Problem (Endergebnis nochmal sortieren) gäb's zwei prinzipielle Lösungen: - entweder sortierst Du auf Deiner Anwendungsseite nach (ist vielleicht das einfachste?) - oder Du rechnest das LIMIT um! Wenn Du zusammen z.B. 100 Datensätze bekommen würdest, dann liefern Dir die beiden Anfrage ... ORDER BY rma ASC LIMIT 10,5 und ... ORDER BY rmd DESC LIMIT 85,5 das gleiche Ergebnis, nur eben gegenläufig sortiert. Diese Gesamtanzahl müßtes Du zuvor eventuell per SELECT COUNT(*) FROM ... ermitteln. Ich hoffe, das trifft in etwa, was Du brauchst ...? > es gibt auch blonde männer ..... <URL: http://www.brueckenbauer.ch/INHALT/9844/44trend.htm > :) Ciao, Martin -- Martin Ramsch <m.ramsch_(at)_computer.org> <URL: http://ramsch.home.pages.de/ > PGP: 0xE8EF4F75, 52 44 5E F3 B0 B1 38 26 E4 EC 80 58 7B 31 3A D7 "Computers are useless. They can only give you answers." -- Pablo Picaso --- *** Abmelden von dieser Mailingliste funktioniert per E-Mail *** an mysql-de-request_(at)_lists.4t2.com mit Betreff/Subject: unsubscribe
php::bar PHP Wiki - Listenarchive