Gemiddelde score met SQL
Stefan
08/12/2006 18:08:00Hallo,
Ik wil even een video rating systeem... ik heb 2 velden die ik wil gaan gebruiken:
Stemmen: het aantal stemmen dat zijn uitgebracht.
Scores: alle scores opgegeven door alle mensjes bij elkaar op geteld.
Scores moet gedeeld door stemmen, maar dat moet dus in de SQL bij de ORDER BY.. want ik wil een top 5 krijgen..
Dus zoiets:
Maar dat werkt niet....
Iemand enig idee???
Alvast bedankt! :)
Ik wil even een video rating systeem... ik heb 2 velden die ik wil gaan gebruiken:
Stemmen: het aantal stemmen dat zijn uitgebracht.
Scores: alle scores opgegeven door alle mensjes bij elkaar op geteld.
Scores moet gedeeld door stemmen, maar dat moet dus in de SQL bij de ORDER BY.. want ik wil een top 5 krijgen..
Dus zoiets:
Code (php)
1
2
3
2
3
<?php
$query = mysql_query("SELECT * FROM video ORDER BY sum(scores/stemmen) DESC");
?>
$query = mysql_query("SELECT * FROM video ORDER BY sum(scores/stemmen) DESC");
?>
Maar dat werkt niet....
Iemand enig idee???
Alvast bedankt! :)
Gewijzigd op 01/01/1970 01:00:00 door Stefan
PHP hulp
24/11/2024 08:05:01Stefan van Iwaarden
08/12/2006 18:15:00Code (php)
1
2
3
4
2
3
4
<?php
$query = "SELECT SUM(scores/stemmen) FROM video ORDER BY DESC LIMIT 5";
$result = mysql_query($query) or die (mysql_error());
?>
$query = "SELECT SUM(scores/stemmen) FROM video ORDER BY DESC LIMIT 5";
$result = mysql_query($query) or die (mysql_error());
?>
dit werkt denk ik al een stuk beter, de plaats van je sum functie was verkeerd. Daarnaast had jij geen top 5 gekregen, want je had geen limit toegepast.
Overigens wil ik je aanraden om de query en de uitvoer van de query apart op te schrijven, nu kun je namelijk je query echoën bij fouten.
En natuurlijk dien je ook een mysql_error bij je uitvoer te plaatsen.
EDIT: @kalle, natuurlijk, stom, dat had ik zelf ook nog wel kunnen bedenken :s
Gewijzigd op 01/01/1970 01:00:00 door Stefan van Iwaarden