IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

requête sum complexe


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 112
    Par défaut requête sum complexe
    Bonjour
    J'ai une table dans laquelle des stagiaires s'inscrivent pour des formations. On précise à chaque fois le nombre d'heures de la formation.
    J'ai donc les champs stagiaire, discipline, heure
    Chaque stagiaire peut avoir plusieurs formations dans la même discipline.
    J'ai besoin de créer une requête qui m'indique pour chaque stagiaire le nombre d'heures utilisé par discipline (français maths histoire)
    C'est à dire quelque chose du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT NOM_PRENOM,sum(NB_HEURES) as total
     FROM choix_perso_pe1
    GROUP BY NOM_PRENOM
    mais avec le détail donc pour chaque discipline
    En espérant être assez clair

  2. #2
    Membre chevronné Avatar de jota5450
    Inscrit en
    Janvier 2006
    Messages
    263
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Janvier 2006
    Messages : 263
    Par défaut
    slt


    ca devrait marcher:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    SELECT NOM_PRENOM,  DISCIPLINE,  sum(NB_HEURES) AS total
     FROM choix_perso_pe1
    GROUP BY NOM_PRENOM, DISCIPLINE

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 112
    Par défaut
    Oui mais les réponses doivent d'organiser dans une tableau
    NOM.... Maths .... Français ....Histoire... Total

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 112
    Par défaut
    Il faudrait donc une requête du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT NOM_PRENOM,
    sum(NB_HEURES) AS maths --> lorque le champ DISCIPLINE a pour valeur 'Maths'
    sum(NB_HEURES) AS français--> lorque le champ DISCIPLINE a pour valeur 'Français'
    sum(NB_HEURES) AS histoire --> lorque le champ DISCIPLINE a pour valeur 'Histoire'
    sum(NB_HEURES) AS total --> ensemble des heures
     FROM choix_perso_pe1
    GROUP BY NOM_PRENOM
    Ce qui permettrait de tout mettre effectivement dans un tableau

  5. #5
    Membre Expert
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953
    Par défaut
    La norme dans ces cas là est de faire comme jota5450 et de mettre en forme dans le code client. En ajoutant un "ORDER BY" ça se fait très facilement.

    Sinon il faut balancer l'élégance par la fenêtre et faire quelque chose comme "sum(IF(DISCIPLINE='FRANCAIS', NB_HEURES, 0))" quatre fois.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 112
    Par défaut
    merci beaucoup; ce qui donne :
    SELECT
    distinct `NOM_PRENOM`,
    sum(IF(DISCIPLINE='Français', NB_HEURES, 0))as français, sum(IF(DISCIPLINE='Maths', NB_HEURES, 0))as Maths, sum(IF(DISCIPLINE='Histoire-Géographie', NB_HEURES, 0))as HG, sum(IF(DISCIPLINE='ST - SVT', NB_HEURES, 0))as ST ,
    sum(NB_HEURES) as Total from choix_perso_pe1 group by `NOM_PRENOM`

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Simplication d'une requête "trop complexe"
    Par Manopower dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 27/06/2006, 15h22
  2. Requête : Jointure Complexe
    Par xwawa dans le forum Langage SQL
    Réponses: 4
    Dernier message: 09/03/2006, 11h10
  3. Requête sql complexe
    Par new_wave dans le forum Langage SQL
    Réponses: 1
    Dernier message: 03/01/2006, 12h55
  4. Requête SQL Complexe
    Par zut94 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 25/11/2005, 21h53
  5. Requête SQL complexe. Comment faire ....
    Par BilTCD dans le forum Langage SQL
    Réponses: 4
    Dernier message: 05/11/2004, 17h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo