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

Langage SQL Discussion :

Énumération + COUNT + GROUP BY!


Sujet :

Langage SQL

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2011
    Messages : 19
    Par défaut Énumération + COUNT + GROUP BY!
    Bonjour,

    Mais que faire si en veut par exemple citer tous les employé triés par le numéro de département en utilisant juste le Group By ?

    Dans le même sens trouver les noms et le nombre des employé de chaque département ?

    Merci par avance.

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 954
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 954
    Par défaut
    ORDER BY couplé à DISTINCT si besoin
    le nombre des employé de chaque département
    Là le GROUP BY aura un sens car il y aura utilisation de la fonction COUNT.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2011
    Messages : 19
    Par défaut
    MERCI POUR LA RAPIDITÉ
    mais mon problème c'est ce citer aussi les noms !! le count(*) avec un group by ça regroupe tout mais je veux lister comme même les noms
    Dans le même sens citer les NOMS des employé des département ayant plus de 4 employé ??? ça fait plus de 6heures que j'essaye de faire ça mais sans succès merci de m'aider ...

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2011
    Messages : 19
    Par défaut
    Pouvez vous m'expliquer comment utiliser ORDER by couplé avec DISTINCT SVP je suis débutante

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2011
    Messages : 19
    Par défaut Émunération + COUNT + GROUP BY!
    J'ai une table EMP(no_emp, nom_emp, no_departement) pour désigné les employés.
    Il me faut une requête SQL qui retourne les NOMS des employés des départements ayant plus de 4 employés groupés par le numéro de département??
    Le problème est que


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT nom_emp, no_departement, COUNT(*) 
    FROM EMP GROUP BY no_departement 
    HAVING COUNT(*)>2
    ne me donne qu'un seul nom par département !!!!1

  6. #6
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Être débutant ne vous empêchera pas de lire les tutoriels - justement à destination des débutants :
    http://sql.developpez.com/

  7. #7
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 954
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 954
    Par défaut
    Dans ce cas GROUP BY ne peut pas marcher, si votre SGBD connaît les focnctions analytiques :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT nom_emp, no_departement, COUNT(*) over(partition by no_departement) as nb
    FROM EMP
    Sinon recalculer le nombre pour chaque ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT e1.nom_emp, e1.no_departement, (select COUNT(*) from emp e2 where e2.no_departement = e1.no_departement) as nb
    FROM EMP e1

  8. #8
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    J'ai une table EMP(no_emp, nom_emp, no_departement) pour désigné les employés.
    Il me faut une requête SQL qui retourne les NOMS des employés des départements ayant plus de 4 employés groupés par le numéro de département??
    Quels sont les départements ayant plus de 4 employés ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT no_departement
    FROM EMP
    GROUP BY no_departement
    HAVING COUNT(*) > 4
    Quels sont les employés travaillant dans ces départements ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT e.no_departement, e.nom_emp
    FROM EMP e
    INNER JOIN
    (
        SELECT no_departement
        FROM EMP
        GROUP BY no_departement
        HAVING COUNT(*) > 4
    ) tmp ON tmp.no_departement = e.no_departement
    ORDER BY e.no_departement, e.nom_emp
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  9. #9
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 954
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 954
    Par défaut
    Ah oui effectivement je n'avais pas lu la question

  10. #10
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2011
    Messages : 19
    Par défaut
    WOW WOW WOW Cinephil ça marcheeeeeee CHAPEAU CHAPEAU monsieur merci beaucoup j'aimerai vraiment être comme vous, j'ai passé toute la journée d'hier à chercher la solution, et je n'est jamais pensé à une intersection entre la table des départements ayant +de 4 employé et la table des employés !!! merci aussi aux autres membres qui m'on répondu c'est vraiment sympa de votre part ...

  11. #11
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2011
    Messages : 19
    Par défaut
    merci skuatamad

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

Discussions similaires

  1. Aide count group by
    Par olibara dans le forum Langage SQL
    Réponses: 2
    Dernier message: 06/03/2008, 11h38
  2. COUNT, GROUP BY et HAVING
    Par yobogs dans le forum Langage SQL
    Réponses: 2
    Dernier message: 11/10/2007, 13h34
  3. Problème de requete, COUNT, GROUP BY etc.
    Par TheRedLed dans le forum Requêtes
    Réponses: 3
    Dernier message: 22/05/2007, 15h03
  4. Requete SQL : COUNT GROUP BY
    Par Florent08800 dans le forum Requêtes
    Réponses: 3
    Dernier message: 06/10/2006, 10h04
  5. fonction: renvoyer résultat d'un count .. group by ?
    Par ctobini dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 26/09/2006, 14h21

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