Prob de moyenne avec mysql

Répondre
allserv
le 29/11/2004 à 12:25
allserv
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
LA GLOBULE
le 29/11/2004 à 13:40
LA GLOBULE
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
)
allserv
le 29/11/2004 à 19:28
allserv
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 ?
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours