MySQL - aus geordneter Gruppe bestimmte Elemente lesen

Sturmrider

Erfahrenes Mitglied
Guten Abend zusammen :)
Folgender Code soll anhand einer $id ein paar Einträge aus der Datenbank, geordnet nach title ASC auslesen. Datei sollen alle geordneten Einträge durchgezählt werden und z.B. die zwei nachfolgenden (LIMIT 2) Elemente count(p.pid) < 10 ausgegeben werden.

Code:
"SELECT n.title,
               COUNT(p.pid) AS photos
 FROM sg_photo AS n,
	    sg_photo AS p
WHERE (n.cid = '". $id ."')
GROUP BY p.pid
HAVING photos > 10
ORDER BY n.title ASC LIMIT 2

Das ganze soll für eine Seitenaufteilung von Fotos (deren Pfade in der DB festgehalten sind) sein. So dass ich nicht erst alle Elemente aus der Datenbank geordnet auslesen muss und dann nur bestimmt, die für die Seite benötigt werden auswählen muss. Schließlich würde ich damit nur unnötig Kapazitäten verbrauchen und die Seite langsam machen. Es wäre zwar auch möglich einfach immer den letzten Eintrag der letzten Seite zu übergeben und als WHERE Argument zu benutzen, doch das möchte ich nicht.
Ich würde mich über eine Verbesserung meines Codes oder einen anderen Lösungsvorschlag freuen! Leider habe ich bisher keine Lösung gefunden :(

Die einfache Lösung lautet LIMIT 0, 2 :(
Es wäre schön, wenn ein Moderator diesen Thread löscht
Die Antwort ist schließlich so einfach, dass ein Thread überflüssig ist
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück