Merci RideKick
:cry:desoleeCitation:
j'ai changé titre en NomMatiere
mais la moyenne n'est calcule j'ai la note quoi
Merci d'avance
Version imprimable
Merci RideKick
:cry:desoleeCitation:
j'ai changé titre en NomMatiere
mais la moyenne n'est calcule j'ai la note quoi
Merci d'avance
Dans ce cas la faut changer le group by pour grouper par modules :
Code:
1
2
3
4
5
6 SELECT n.idnote, n.note, n.idetudiant, e.NomEtud, mo.nom AS NomModule, m.titre AS NomMatiere, AVG( n.note ) AS SommeNote FROM matiere m LEFT JOIN notes n ON n.idmatiere = m.idmatiere LEFT JOIN etudiant e ON e.idetudiant = n.idetudiant LEFT JOIN module mo ON m.idmodule = mo.idmodule GROUP BY mo.idmodule
Superbe RideKick
ca marche bien :king:
desolee RideKick je voudrais multiplier la coffecient fois la matiere puis claculer la moyenne par matiere dans un champ appare
puis la calculer de moyenne par module dans un champ appare
Merci RideKick de votre temps
Tu peux demander d'afficher le coefficient , ensuite tu peux faire le calcul via PHP
Salut
je viens d'inserer le nom du champ coefficient dans la requete mais j'ai trouvee que les noms des matiere sont disparues :aie::aie:
pourrais-tu RideKick m'expliquer l'erreurCode:
1
2
3
4
5
6
7 $query="SELECT n.idnote, n.note, n.idetudiant, e.NomEtud,coefficient,mo.nom AS NomModule, m.titre*coefficient AS NomMatiere, AVG( n.note ) AS SommeNote FROM matiere m LEFT JOIN notes n ON n.idmatiere = m.idmatiere LEFT JOIN etudiant e ON e.idetudiant = n.idetudiant LEFT JOIN module mo ON m.idmodule = mo.idmodule GROUP BY mo.idmodule";
Merci d'avance
Normal :
il faut le faire separement sinon tu remplace le champs NomMatiere par la multiplication :Code:m.titre*coefficient AS NomMatiere
au passage vaut mieu multiplier une note par un coeficient que le nom de la matiere ?Code:(n.note*coefficient) AS Moy , m.titre AS NomMatiere
Salut RideKick
Voici le nouveau code
l'image ci-jointeCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 <?php // Connexion au serveur $connexion = mysql_connect($host,$user,$pass)or die ("Erreur de connexion"); mysql_select_db($dbase,$connexion)or die ("Erreur de connexion base"); $query="SELECT n.idnote, n.note, n.idetudiant, e.NomEtud,coefficient,mo.nom AS NomModule, (n.note*coefficient) AS Moy , m.titre AS NomMatiere FROM matiere m LEFT JOIN notes n ON n.idmatiere = m.idmatiere LEFT JOIN etudiant e ON e.idetudiant = n.idetudiant LEFT JOIN module mo ON m.idmodule = mo.idmodule GROUP BY mo.idmodule"; $result = mysql_query($query)or exit('Erreur: '.mysql_error()); ?> <table bgcolor="" width="50" border="1" cellspacing="1" cellpadding="1"> <tr> <td bgcolor=""><div style="text-align: center"><b>Code_Note</b></div></td> <td bgcolor=""><div style="text-align: center"><b>Code_Etudaint</b></div></td> <td bgcolor=""><div style="text-align: center"><b>Nom_Etudiant</b></div></td> <td bgcolor=""><div style="text-align: center"><b>Nom_Matiere</b></div></td> <td bgcolor=""><div style="text-align: center"><b>Coefficient</b></div></td> <td bgcolor=""><div style="text-align: center"><b>MoyenneMatiere</b></div></td> <td bgcolor=""><div style="text-align: center"><b>MoyenneModule</b></div></td> </tr>'; <?php while ($row = mysql_fetch_array($result)) { ?> <tr> <td bgcolor="#CCCCCC"> <?php echo $row["idnote"] ?> </td> <td><div align="center"><?php echo $row['idetudiant'] ?></div></td> <td><div align="center"> <?php echo $row['NomEtud'] ?></div></td> <td><div align="center"><?php echo $row['NomMatiere'] ?></div></td> <td><div align="center"><?php echo $row['coefficient'] ?></div></td> <td><div align="center"> <?php echo$row['note'] ?></div></td> <td><div align="center"> <?php echo$row['Moy'] ?></div></td> </tr> <?php } ?>
Merci de votre aide
Bonjour à tous
bonjour RideKick
ben,jai des probleme au niveau de calcule,je devrais calculer la somme des matiere de chauqe Module apres je clacule la moyenne
et d'apres le tableau en haut ,le calcul n'est pas correct
Merci de votre aide
Ce n'est jamais qu'un problème de mathématiques , tu devrais d'abord détailler le calcul sur une feuille , une fois celui ci valide l'appliquer a ton code !
Merci RideKick
je suis ravie de votre aide :P
-- Moyenne par MatièreCitation:
Envoyé par RideKick
ben le probleme se situe au niveau de ma requete :aie::aie:toujours je trouve pas la bonne resultatCode:SUM(Note * Coeff)/SUM(Coeff) AS Moyenne
Merci d'avance
?Code:(SUM(Note * Coeff)/SUM(Coeff)) AS Moyenne
:aie::aie:
mais c'est juste j'aimerai savoir est-ce que la formule est correcte parcque je viens d'integrer cette formule dans ma requete
Code:
1
2 SUM(Note * Coeff)/SUM(Coeff) AS Moyenne
Merci d'avanceCode:
1
2
3
4
5
6
7
8 SELECT n.idnote, n.note, n.idetudiant, e.NomEtud,coefficient,mo.nom AS NomModule, SUM(n.note*coefficient)/SUM(coefficient) AS Moyenne , m.titre AS NomMatiere FROM matiere m LEFT JOIN notes n ON n.idmatiere = m.idmatiere LEFT JOIN etudiant e ON e.idetudiant = n.idetudiant LEFT JOIN module mo ON m.idmodule = mo.idmodule GROUP BY mo.idmodule
La formule est juste :king:
Merci
;)Citation:
Envoyé par RideKick
c'est juste la formule de claculer Moyenne par Matière
je souhaiterai ajouter aussi la formule de calculer Moyenne par Moduleddans la meme requete :oops:
Merci d'avance
Citation:
Envoyé par RideKick
Code:
1
2
3
4
5
6
7
8
9
10 ------Moyenne par Matière----------- SELECT n.idnote, n.note, n.idetudiant, e.NomEtud,coefficient,mo.nom AS NomModule, SUM(n.note*coefficient)/SUM(coefficient) AS Moyenne , m.titre AS NomMatiere FROM matiere m LEFT JOIN notes n ON n.idmatiere = m.idmatiere LEFT JOIN etudiant e ON e.idetudiant = n.idetudiant LEFT JOIN module mo ON m.idmodule = mo.idmodule GROUP BY mo.idmodule
alors je ferais comme ca nonCode:
1
2
3
4
5
6
7
8 -- Moyenne par Module SELECT nom AS NomModule,SUM(Note * Coeff)/SUM(Coeff) AS Moyenne FROM Note LEFT JOIN notes n ON n.idmatiere = m.idmatiere LEFT JOIN etudiant e ON e.idetudiant = n.idetudiant LEFT JOIN module mo ON m.idmodule = mo.idmodule GROUP BY mo.idmodule
Merc d'avance
Si tu groupe les 2 par idModule c'est la même requête ...
cette requete est-elle correcteCitation:
Envoyé par RideKick
Merci d'avanceCode:
1
2
3
4
5
6
7
8
9
10 ------Moyenne par Matière----------- SELECT n.idnote, n.note, n.idetudiant, e.NomEtud,coefficient,mo.nom AS NomModule, SUM(n.note*coefficient)/SUM(coefficient) AS Moyenne , m.titre AS NomMatiere FROM matiere m LEFT JOIN notes n ON n.idmatiere = m.idmatiere LEFT JOIN etudiant e ON e.idetudiant = n.idetudiant LEFT JOIN module mo ON m.idmodule = mo.idmodule GROUP BY m.idmatiere
Mieux oui ...
Merci RideKick
:king:Citation:
Envoyé par RideKick
mais RideKick est-ce la requete de caclue Moyenne par module est correcte:oops:
Merci d'avanceCode:
1
2
3
4
5
6
7
8 -- Moyenne par Module SELECT nom AS NomModule,SUM(Note * Coeff)/SUM(Coeff) AS Moyenne FROM Note LEFT JOIN notes n ON n.idmatiere = m.idmatiere LEFT JOIN etudiant e ON e.idetudiant = n.idetudiant LEFT JOIN module mo ON m.idmodule = mo.idmodule GROUP BY mo.idmodule