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.
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.
ORDER BY couplé à DISTINCT si besoin
Là le GROUP BY aura un sens car il y aura utilisation de la fonction COUNT.le nombre des employé de chaque département
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 ...
Pouvez vous m'expliquer comment utiliser ORDER by couplé avec DISTINCT SVP je suis débutante![]()
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
ne me donne qu'un seul nom par département !!!!1
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
![]()
Être débutant ne vous empêchera pas de lire les tutoriels - justement à destination des débutants :
http://sql.developpez.com/
Dans ce cas GROUP BY ne peut pas marcher, si votre SGBD connaît les focnctions analytiques :
Sinon recalculer le nombre pour chaque ligne :
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
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
Quels sont les départements ayant plus de 4 employés ?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 employés travaillant dans ces départements ?
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
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 !
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 ...
Partager