Prob de moyenne avec mysql
Bonjour tout le monde,
j'ai un petit prob de requete encore une fois, j'ai deux tables une table participations et une table note qui est relié a cet table via le champ id_participant (=id table participation). Dans la table notes sont entrées plein de notes, je veux en faite recuperer tous les enregistrements de la table participations et calculer la moyenne dirctement, je fais ceci, mais ca fonctionne pas :
SELECT t1.* FROM concours_participations AS t1,concours_notes AS t2 WHERE t1.id_concours='1' AND t1.id=t2.id_participant ORDER BY AVG(t2.note)
Invalid use of group function
Comment y parvenir ?
Merci d'avance
ps : content que le site refonctionne :D
Voici un élément de réponse :
CREATE TABLE notes (
id int(11) NOT NULL auto_increment,
id_participant int(11) NOT NULL default '0',
note int(11) NOT NULL default '0',
UNIQUE KEY id (id)
) TYPE=MyISAM;
INSERT INTO notes VALUES (1, 1, 15);
INSERT INTO notes VALUES (2, 1, 12);
INSERT INTO notes VALUES (3, 2, 17);
INSERT INTO notes VALUES (4, 2, 13);
CREATE TABLE participant (
id int(11) NOT NULL auto_increment,
nom text NOT NULL,
UNIQUE KEY id (id)
) TYPE=MyISAM;
INSERT INTO participant VALUES (1, 'LA GLOBULE');
INSERT INTO participant VALUES (2, 'toto');
<html>
<head>
<title>test</title>
</head>
<body>
<?php
$db = mysql_connect('***', '***', '***');
mysql_select_db('***', $db);
$sql = 'SELECT AVG(notes.note) AS moyenne, participant.nom AS eleve FROM notes, participant WHERE participant.id=notes.id_participant GROUP BY participant.id ORDER BY moyenne ASC';
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());
while ($data = mysql_fetch_array($req)) {
print_r ($data);
}
?>
</body>
</html>
Ce qui affiche :
Array
(
[0] => 13.5000
[moyenne] => 13.5000
[1] => LA GLOBULE
[eleve] => LA GLOBULE
)
Array
(
[0] => 15.0000
[moyenne] => 15.0000
[1] => toto
[eleve] => toto
)
Merci la glob pour cett reponse, par contre il y aurait un moyen pour qu'il affiche tout de meme les participants s'iol n'y a pas de notes ?
Ecrire un message
Votre message vient d'être créé avec succès.
BB-Code
Pour insérer une URL clickable
Pour insérer une adresse E-mail
Pour annoter
Pour écrire du code
Pour faire un lien vers une fonction PHP
Pour écrire du texte préformaté
Pour écrire du texte en gras
Pour écrire du texte en italique
Pour écrire du texte souligné
Pour écrire du texte barré
Pour écrire un titre principal
Pour écrire un titre secondaire
Pour écrire une liste
Smiley
:bond:
:boxe:
:bsmile:
:bump:
:clap:
:coeur:
:cool:
:cry:
:eek:
:evil:
:fleur:
:fou2:
:fou:
:grin:
:grrr:
:hammer:
:hippy:
:hum:
:idee2:
:idee:
:kdo:
:king:
:ko:
:lol:
:love2:
:love:
:mad:
:maitre:
:noel:
:oops:
:raa:
:razz:
:roll:
:sad:
:skull:
:smile:
:timide:
:trink:
:vice:
:vomi:
:wink:
:zzz: