Sommation par ligne sous mysql

Résolu
Bonjour,

j'ai une table étudiant(matricule, prenom, nom, note1, note2, moyenne, resultat).
j'ai 2 étudiants dans ce tableau et dans la colonne moyenne je dois avoir la moyenne des étudiants calculée par ligne.
dans la colonne résultat je veux afficher "admis" si la moyenne est >=10, sinon "ajourné"
quelle requête dois-je saisir pour calculer la moyenne de chaque étudiant puis afficher "admis" ou "ajourné" s'il vous plaît?
merci d'avance

1 réponse

  1. Modérateur
    Bonjour,

    Pour avoir une liste :

    SELECT matricule, prenom, nom, (note1+note2)/2 as moyenne,
        CASE moyenne
          WHEN >= 10 THEN 'admis'
          ELSE 'ajourné'
        END AS resultat
    FROM etudiant


    Mais si ton objectif c'est de mettre à jour la table, il te faut faire un update avec les éléments ci-dessus.

    Cdlt
    0
    1. bonjour jee pee
      merci pour l'intérêt que portez à ma préoccupation,
      ça me donne pas le résultat dont je veux.
      je cherche premièrement la moyenne par étudiant
      second lieu je cherche à afficher le résultat par admis ou ajourné.
      merci
      0
    2. Bonsoir à toutes et à tous
      voilà le résultat dont je cherchais:

      pour la colonne moyenne :

      update etudiant set moyenne = (note1 + note2)/2;
      where mat = 1;


      pour la colonne résultat:

      update etudiant set résultat ='admis' where moyenne >= 10;


      update etudiant set résultat ='ajourné' where moyenne < 10;


      merci
      0
    3. Modérateur
      @mamalimaintenant que tu l'as fait un trois requetes, cela peut se faire en une
      update etudiant set moyenne =(note1 + note2)/2,
      résultat = CASE 
                     WHEN  (note1 + note2)/2 >= 10 THEN 'admis'
                     ELSE 'ajourné'
                 END
      ;
      

      je ne te garantis pas la syntaxe ;-)
      0
    4. @jee peej'ai testé et ça marche, c'est d'ailleurs mieux que d'aller avec 2 requêtes.
      merci infiniment
      0