[MySQL&PHP] Bild mit der höchsten Gesamtbewertung ausgeben

  • Themenstarter Themenstarter C4D_Joe
  • Beginndatum Beginndatum
C

C4D_Joe

Hallo!
Bestimmt hatten schon andere das Problem, aber ich konnte mit der Forensuche leider nichts finden.
Und zwar möchte ich in meinem Online-Portfolio das Bild mit der besten Bewertung ausgeben. Nun habe ich Wertungen und Bild in aber verschiedenen Tabellen gespeichert. Einmal die Bild-Tabelle, in der sich die Spalten bildid, thumburl und andere befinden. Dann die Kommentartabelle, die die Spalten bildid, bewertung und andere beinhaltet.
Wie kann ich nun eine Abfrage durchführen, die (möglichst ressourcenschonend) das Bild mit der besten Gesamtbewertung ausgibt?


Gruß, Joe (
ein PHP- und MySQL-Anfänger, der für eure Antworten dankbar wäre ;))
 
Hallo,

probier es mal hiermit (ungetestet):
Code:
SELECT
	`bilder`.`bildid`,
	`bilder`.`thumburl`,
	AVG( `kommentare`.`bewertung` ) AS `mittelwert`
FROM
	`bilder`,
	`kommentare`
WHERE
	`kommentare`.`bildid` = `bilder`.`bildid`
GROUP BY
	`bildid`
ORDER BY
	`mittelwert` DESC
LIMIT 1
 
:)
Vielen, vielen Dank! Hat auf Anhieb funktioniert!
Ich hätte es, wenn keine Antwort gegeben worden wäre, zwar auch anders lösen können (immer bei neuem Kommentar Mittlerwert ausrechnen und in Bild-Tabelle schreiben :D), aber so ist es um Klassen besser!

Nochmals dankeschön!

Gruß, Joe

PS: Schüttelst du sowas eigentlich aus dem Ärmel oder musst du da auch noch überlegen?
 
C4D_Joe hat gesagt.:
PS: Schüttelst du sowas eigentlich aus dem Ärmel oder musst du da auch noch überlegen?
Na ja, das ist eigentlich eine ziemliche Standardabfrage (Gruppierung mit Mittelwert, Verknüfung mit anderer Tabelle über Fremdschlüssel). Auch wenn sie nicht grade kurz ist, ist sie trotzdem noch überschaubar :)
 
Zurück