SQL count(*) [newbie inside]

SQL count(*) [newbie inside] - SQL/NoSQL - Programmation

Marsh Posté le 10-07-2003 à 20:16:12    

que je demande la doit etre assez simple (enfin je pense)
 
voila jaimerai afficher le nombres de personnes referencee pour chacun des departement
 

Code :
  1. select count(*) from emp group by deptno;
  2. ca donne ca


 
  COUNT(*)
----------
         3
         5
         6
 
ensuite jai essaye dajouter le nom du departement a la suite mais jy arrive pas  :sweat:  
 
 

Code :
  1. select count(*),d.dname from emp e, dept d  where e.deptno = d.deptno group by e.deptno;


 
marche pas
 
help je craque ce langage me rend fou vive le c ;)  

Reply

Marsh Posté le 10-07-2003 à 20:16:12   

Reply

Marsh Posté le 10-07-2003 à 21:06:01    

Elle a l'air bonne la 2ème requête [:proy]

Reply

Marsh Posté le 10-07-2003 à 21:19:59    

pit etre:
 

select count(*),dept.dname from emp e, dept d  where e.deptno = d.deptno group by e.deptno;


---------------
oui oui
Reply

Marsh Posté le 10-07-2003 à 21:20:43    

mrBebert a écrit :

Elle a l'air bonne la 2ème requête [:proy]  


 
 
select count(*),d.dname from emp e, dept d  where e.deptno = d.deptno group by e.deptno
                *
ERREUR à la ligne 1 :
ORA-00979: N'est pas une expression GROUP BY
 
 :ouch:

Reply

Marsh Posté le 10-07-2003 à 21:26:10    

group by d.deptno devrait marcher je pense
 
 


Message édité par art_dupond le 10-07-2003 à 21:40:42

---------------
oui oui
Reply

Marsh Posté le 10-07-2003 à 21:27:47    

vous êtes surs qu'on peut utiliser group by avec count?


---------------
.: Clône de Drasche .:. Ebichuleys .:. Avec l'Aloe Vera je fais de beaux cacas [:dawa] .: www.oserselancer.com :.
Reply

Marsh Posté le 10-07-2003 à 21:30:04    

Urd-sama a écrit :

vous êtes surs qu'on peut utiliser group by avec count?


 
oui et c'est obligatoire si tu sélectionnes une autre colonne (autre chose que le count() quoi).


---------------
oui oui
Reply

Marsh Posté le 10-07-2003 à 21:31:00    

art_dupond a écrit :


oui et c'est obligatoire si tu sélectionnes une autre colonne (autre chose que le count() quoi).


 :jap:


---------------
.: Clône de Drasche .:. Ebichuleys .:. Avec l'Aloe Vera je fais de beaux cacas [:dawa] .: www.oserselancer.com :.
Reply

Marsh Posté le 10-07-2003 à 21:38:57    

marche tjs pas jai essaye de change le group by et le dept.dname

Reply

Marsh Posté le 10-07-2003 à 21:40:32    

de rieng :p
 
 
par contre, je sais plus s'il faut grouper suivant les colonnes qu'on site après le select ou s'il faut grouper suivant une colonne de la tableuh...
 
 
 
a tester :
 
 

group by d.deptno
 
 
group by d.dname  
 
 
group by d.dname, d.deptno


---------------
oui oui
Reply

Marsh Posté le 10-07-2003 à 21:40:32   

Reply

Marsh Posté le 11-07-2003 à 09:25:55    

tout ce qui est dans la clause group by doit etre dans la clause select (sauf les count, sum ...)
 
donc:
 

select count(*),e.deptno, d.dname
from emp e, dept d
where d.deptno = e.deptno
group by e.deptno,d.dname;


 
Edit: euh jointure...  :D


Message édité par hop le fou le 11-07-2003 à 09:27:04
Reply

Marsh Posté le 11-07-2003 à 10:41:55    

c'est pas plutot le contraire ?
 
 
tout ce qui est dans la clause select doit se trouver dans le group by ? :D
 
 
 
 
je suis neuneu ! n'est-ce pas ?


---------------
oui oui
Reply

Marsh Posté le 11-07-2003 à 10:46:41    

art_dupond a écrit :

c'est pas plutot le contraire ?
 
 
tout ce qui est dans la clause select doit se trouver dans le group by ? :D
 
 
 
 
je suis neuneu ! n'est-ce pas ?


 
oui c possible je confond tout le tps...
en gros fo qu il y ait la meme chose quoi...  :D

Reply

Marsh Posté le 11-07-2003 à 11:00:20    

art_dupond a écrit :

c'est pas plutot le contraire ?
 
 
tout ce qui est dans la clause select doit se trouver dans le group by ? :D
 
 
 
 
je suis neuneu ! n'est-ce pas ?


 
Tout est là. Profites-en aussi pour mettre le nom du champs plutot que * dans le count.
 
Tu obtiens une requete du style. Elle doit focntionner
 
SELECT ID_DEPT, count(ID_DEPT), LIB_DEPT FROM MaTable GROUP BY ID_DEPT, LIB_DEPT ORDER BY ID_DEPT ASC.


---------------
MZP est de retour
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed