Bewertungsliste

thomsonz

Mitglied
Hallo ich möchte eine Top 3 Liste von Städten mir ausgeben lassen mit Name Durchschnitt der Bewertung und die id der Stadt.
In der einen Tabelle "staedte" habe ich die Spalten id, name, region und in einer anderen Tabelle "bewertung" die Spalten id, stadt_id, stimme, user.
Bei meinem Versuch findet er die Städte aber weder die besten drei noch stimmt der Durchschnitt.

Wer kann mir bitte helfen.
Vielen Dank
PHP:
$sql = "SELECT id, name, (SELECT AVG(stimme) FROM bewertung WHERE stadt_id = id) AS ergebnis FROM staedte WHERE region = 'Nordthailand' ORDER BY ergebnis DESC LIMIT 3";
$result = mysql_query($sql) or die(mysql_error());

while($stadt = mysql_fetch_assoc($result))
{
    echo $stadt['name'].' '.$stadt['ergebnis'].'<br />';
 
Hallo

Versuch es mal mit einem JOIN anstatt dem Subselect.
Und dann kannst es in der Where Bedinungnach avg sortieren.

Grüße SimonErich
 
Hallo ich möchte eine Top 3 Liste von Städten mir ausgeben lassen mit Name Durchschnitt der Bewertung und die id der Stadt.
In der einen Tabelle "staedte" habe ich die Spalten id, name, region und in einer anderen Tabelle "bewertung" die Spalten id, stadt_id, stimme, user.
Bei meinem Versuch findet er die Städte aber weder die besten drei noch stimmt der Durchschnitt.

In welcher Spalte werden die Top gespeichert? Wie sieht das mit den Bewertungen aus sind das zahlen werte je höher desto besser?

Ohne genau deine Tabellen zu kennen kann ich nur rum raten.

Die abfrage sollte dann in etwa so ausehen.

PHP:
SELECT Name,Durchschnit,Bewertung,stadt_id FROM staedte,bewertung WHERE id=stadt_id AND Bewertung >3
// Gibt alle aus die eine höhere Bewertung als 3 haben

Mfg Splasch
 
Zurück