Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2114 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  SQL count(*) [newbie inside]

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

SQL count(*) [newbie inside]

n°454087
red factio​n
Posté le 10-07-2003 à 20:16:12  profilanswer
 

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 ;)  

mood
Publicité
Posté le 10-07-2003 à 20:16:12  profilanswer
 

n°454162
mrbebert
Posté le 10-07-2003 à 21:06:01  profilanswer
 

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

n°454185
art_dupond
je suis neuneu... oui oui !!
Posté le 10-07-2003 à 21:19:59  profilanswer
 

pit etre:
 

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


---------------
oui oui
n°454187
red factio​n
Posté le 10-07-2003 à 21:20:43  profilanswer
 

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:

n°454191
art_dupond
je suis neuneu... oui oui !!
Posté le 10-07-2003 à 21:26:10  profilanswer
 

group by d.deptno devrait marcher je pense
 
 


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

---------------
oui oui
n°454192
urd-sama
waste of space
Posté le 10-07-2003 à 21:27:47  profilanswer
 

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 :.
n°454193
art_dupond
je suis neuneu... oui oui !!
Posté le 10-07-2003 à 21:30:04  profilanswer
 

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
n°454195
urd-sama
waste of space
Posté le 10-07-2003 à 21:31:00  profilanswer
 

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 :.
n°454201
red factio​n
Posté le 10-07-2003 à 21:38:57  profilanswer
 

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

n°454202
art_dupond
je suis neuneu... oui oui !!
Posté le 10-07-2003 à 21:40:32  profilanswer
 

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
mood
Publicité
Posté le 10-07-2003 à 21:40:32  profilanswer
 

n°454654
hop le fou
Tu m'en diras tant
Posté le 11-07-2003 à 09:25:55  profilanswer
 

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
n°454762
art_dupond
je suis neuneu... oui oui !!
Posté le 11-07-2003 à 10:41:55  profilanswer
 

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
n°454779
hop le fou
Tu m'en diras tant
Posté le 11-07-2003 à 10:46:41  profilanswer
 

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

n°454809
cinocks
Posté le 11-07-2003 à 11:00:20  profilanswer
 

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

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  SQL count(*) [newbie inside]

 

Sujets relatifs
Documentation SQL serveur[Résolu] Date du jour au format dd/mm/yyyy en java ?? débutant inside
[SQL]chaine de carctères présente dans un colonneTrouver le mot de passe DBA d'une base SYbase SQL Anywhere
Newbie activeX[Access/SQL] Problème de tranche (de pain de mie !!)
[SQL] Comment inverser le résultat d'une requête?[réglé][SQL] Surement simple : comment récupérer le nombre le plus elevé ?
[SQL / Oracle] Tester un cas de concurrence.urgent PL/SQL illisible
Plus de sujets relatifs à : SQL count(*) [newbie inside]


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR