Goedendag,

Ik heb een database gevuld met getallen van 0 t/m 5. Deze zijn gekoppeld aan verschillende id's. Een voorbeeld van hoe de database er dus kan uitzien:

id | getal | gekoppeld_id
-------------------------------
1 | 2 | 5
2 | 1 | 5
3 | 5 | 5
4 | 4 | 4
5 | 1 | 4
6 | 1 | 5
7 | 2 | 2
8 | 4 | 2
9 | 4 | 4

Het gaat dus om een vote/stem systeem.

Nu is dus mijn vraag hoe ik het hoogste gemiddelde uit de database kan ophalen? Ik heb naar van alles gezocht maar ik kom er niet echt uit. Kan iemand mij helpen?

Met vriendelijke groet,

Remy Brokke
$query = 'SELECT gekoppeld_id, AVG(getal) AS gemiddelde FROM tabel
GROUP BY gekoppeld_id
ORDER BY gemiddelde
LIMIT 1'

Is dit niet goed?
Wel nog even 'DESC' toevoegen, aan genomen dat default 'ASC' is.
Hartelijk bedankt dit werkt prima! Ik was aan het kloten met COUNT daarom lukte het niet echt.
Nog een vraag die een vervolg is op dit:

Ik heb nu de volgende sql:


<?php

$hoogsterating = mysql_query("SELECT t1.rate_game, AVG(t1.rate_rating) AS gemiddelde FROM game_rate AS t1, game_games AS t2 WHERE t2.game_cattogorie = 'Avontuur' GROUP BY t1.rate_game ORDER BY gemiddelde DESC LIMIT 1") OR DIE(mysql_error());

?>


Met deze query probeer ik dus het hoogste gemiddelde op te halen maar waarbij in de 2é tabel de cattogorie wel (in dit geval dus) avontuur is. Alleen print hij gewoon de gene met de hoogste rating. Voorbeeld staat hier online.
Je zult nog wel een link aan moeten brengen tussen die twee tabellen. Waarschijnlijk heb je in game_rates een kolom met een categorie_id oid?

Zoiets zou het worden:

SELECT
    t1.rate_game,
    AVG(t1.rate_rating) AS gemiddelde
FROM
    game_rate AS t1,
    game_games AS t2
WHERE
    t1.categorie_id = t2.id
AND
    t2.categorie = 'Avontuur'
Ik had nog geen kolom categorie in me game_rate tabel staan! Die staat er nu wel in en nu word alles zeer makkelijk opgehaald. Bedankt voor je hulp!

Reageren