Code:
SELECT stories_kapitel.kapitel_id, stories_kapitel.story_id, stories_kapitel.reihenfolge, stories.user_id, stories.titel, stories.fandom, stories.sprache, stories.pairing, stories.einstufung, stories.status, users.user, fandoms.fandom_name, einstufungen.einstufung_name, SUM( stories_bewertungen.bewertung ) / COUNT( stories_bewertungen.bewertung ) AS bewertungen_summe FROM stories INNER JOIN stories_kapitel ON stories_kapitel.story_id = stories.story_id INNER JOIN users ON stories.user_id = users.id INNER JOIN fandoms ON stories.fandom = fandoms.fandom_id INNER JOIN einstufungen ON stories.einstufung = einstufungen.einstufung_id INNER JOIN stories_bewertungen ON stories_bewertungen.story_id = stories.story_id WHERE COUNT( stories_bewertungen.bewertung ) > 10 GROUP BY stories.datum ORDER BY bewertung_durchschnitt DESC LIMIT 10
Über diesem Text findet ihr eine SQL anweisung und im Betreff findet man auch die Fehlermeldung die hieraus ergeht.
Was ich mit dem Statement befolgen will ist folgendes. Ich will die selektierten Storydaten, Kapiteldaten, Einstufungsdaten, Fandomdaten, sowie die Bewertungen ausgeben rausbekommen.
Am wichtigsten ist mir hierbei, dass die ganzen Bewertungen, die es zu einer Story gibt zusammengezählt werden und durch die Anzahl der Bewertungen geteilt wird um den Durchschnitt zu bekommen. In der ORDER BY Klausel will ich, dass die Storys in der Reihenfolge anzeigt, die mehr als 10 Bewertungen bekommen haben und die anderen außen vorlässt. Es geht darum, dass ich eine Tabelle brauche, die mir die 10 besten Storys ausliefert, die 10 oder mehr Bewertungen haben. Ist den das Statement soweit richtig?
Achja und wo liegt der Fehler?
Danke schonmal im Vorraus.
Comment