PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   MySQLi/PDO/(MySQL) (http://www.selfphp.de/forum/forumdisplay.php?f=22)
-   -   Frage zu einer WHERE Bedingung (http://www.selfphp.de/forum/showthread.php?t=17490)

knautschke 23.08.2007 15:58:55

Frage zu einer WHERE Bedingung
 
Hi,
ich habe eine Tabelle mit 4 Spalten. Datetime, Spiel-ID, User-ID und Bewertung.
Im Moment habe ich eine Abfrage, die eine bestimmte Anzahl an Spiel-ID's von Spielen aus der Tabelle sucht, die am besten oder schlechtesten im Durchschnitt bewertet wurden.

Das sieht jetzt so aus:
Code:

$sql = mysql_query("
SELECT AVG(ratings) AS rat
FROM `spiel_bewertungen`
GROUP BY gid
ORDER BY rat ".$best_topflop."
LIMIT ".$best_range."
");

ratings = die bewertungen der Spiele (ein Int-Wert).
$gid = Spiel-ID.
$best_topflop = ASC oder DESC.
$best_range = Anzahl der gewünschten Ergebnisse.

Das klappt auch soweit.
Nun wollte ich aber per WHERE Bedingung noch die Anzahl an Bewertungen bestimmten können, die ein Ergebis mindestens braucht um ausgegeben zu werden.
Beispiel: "Ich will die 10 Spiele haben die am besten bewertet wurden, und deren Bewertung sich aus mindestens 5 Einzelbewertungen zusammensetzt".

Leider bin ich in sachen MySQL ein Anfänger und habe bisher keinen Erfolg mit einigen Versuchen gehabt.

Wenn jemand einen Tip hätte wie die WHERE-Bedingung auszusehen hat wäre ich sehr dankbar. :)

MfG

BeefBonanza 27.08.2007 23:21:54

AW: Frage zu einer WHERE Bedingung
 
Habe jetzt keine Möglichkeit das auszutesten, aber ich würde mal sagen:
du brauchst noch zusätzlich die Anzahl der Ratings über count als Element im Datensatz, zu dem du dann ne Bedingung stellen kannst:
PHP-Code:

$sql mysql_query("
   SELECT AVG(ratings) AS rat,COUNT(ratings) AS anz
   FROM `spiel_bewertungen`
   GROUP BY gid 
   ORDER BY rat "
.$best_topflop.
   LIMIT "
.$best_range."
   WHERE anz>=5
"
); 

So oder mit n bisschen Gefrickel sollte es gehen.


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:15:24 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.