Hallo,
ich habe gerade eine Denkblockade und weiß nicht so recht weiter, vielleicht kann mir ja hier jemand einen Tipp geben ?! ;-)
Ich habe eine Tablle ratings und locations, in der Tabelle ratings befinden sich die Bewertung der jeweiligen locations, soweit so gut.
Die votings in der Tabelle ratings sind nach folgendem Muster abgelegt :
id, vote_value, vote_idlocation, etc.. (für jede Bewertung ein Datensatz)
Mit meiner Abfrage :
SELECT *, sum(vote_value) as gesamt, count(vote_value) as anzahl
FROM ratings, locations
WHERE id_location = vote_idlocation
GROUP BY vote_idlocation
ORDER BY gesamt DESC 5";
bekomme ich zwar die 5 mit den meisten Gesamtpunkten raus, was ich aber haben will, sind die mit den 5 besten Durchschnittsbewertungen.
Also gesamt / anzahl und danach halt sortiert, quasi ein .."ORDER BY Durchschnitt".
Geht das so überhaupt in einer Abfrage ? Ich komme da gerade irgendwie nicht weiter.. :-(
ich habe gerade eine Denkblockade und weiß nicht so recht weiter, vielleicht kann mir ja hier jemand einen Tipp geben ?! ;-)
Ich habe eine Tablle ratings und locations, in der Tabelle ratings befinden sich die Bewertung der jeweiligen locations, soweit so gut.
Die votings in der Tabelle ratings sind nach folgendem Muster abgelegt :
id, vote_value, vote_idlocation, etc.. (für jede Bewertung ein Datensatz)
Mit meiner Abfrage :
SELECT *, sum(vote_value) as gesamt, count(vote_value) as anzahl
FROM ratings, locations
WHERE id_location = vote_idlocation
GROUP BY vote_idlocation
ORDER BY gesamt DESC 5";
bekomme ich zwar die 5 mit den meisten Gesamtpunkten raus, was ich aber haben will, sind die mit den 5 besten Durchschnittsbewertungen.
Also gesamt / anzahl und danach halt sortiert, quasi ein .."ORDER BY Durchschnitt".
Geht das so überhaupt in einer Abfrage ? Ich komme da gerade irgendwie nicht weiter.. :-(