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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Plusieurs Count et Group By sur une table

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Plusieurs Count et Group By sur une table

n°1758487
macfleid
Posté le 11-07-2008 à 15:10:27  profilanswer
 

Salut,
 
Sur un site j'ai besoin de faire une requète dans une seule table.
 
Table MaTable
Colonne one, two, three
 
one    two    three
145    548    632
423    145    846
145    758    214
218    805    145
 
Je voudrai pouvoir compter le nombre de fois ou 145 est dans la colonne one, dans la colonne two et la colonne three et affcher les résultats du genre
one    two    three
2       1       1
 
Pour le moment j'ai fais ca :
SELECT *, Count(one) AS un, Count(two) AS deux, Count(three) AS trois FROM MaTable WHERE one = 145 OR two = 145 OR three = 145 GROUP BY one AND two AND three
 
Seul problème, ca m'affiche :
4
au lieu de
2   1    1
 
Je sais pas comment distinguer les group by pour qu'il m'affiche les résultats séparé au lieu de me grouper le tout.
 
Merci de votre aide

mood
Publicité
Posté le 11-07-2008 à 15:10:27  profilanswer
 

n°1758553
MagicBuzz
Posté le 11-07-2008 à 16:17:36  profilanswer
 

selon ton sgbd, la requête ressemblera plus ou moins à ça :
 
select count(if one = 145 then 1 else 0 end) one, count(if two = 145 then 1 else 0 end) two, count(if three = 145 then 1 else 0 end) three
from tatable


Message édité par MagicBuzz le 11-07-2008 à 16:17:53
n°1758604
anapajari
s/travail/glanding on hfr/gs;
Posté le 11-07-2008 à 17:05:52  profilanswer
 

sum au lieu de count non?


---------------
Software and cathedrals are much the same - first we build them, then we pray.
n°1758642
MagicBuzz
Posté le 11-07-2008 à 18:49:35  profilanswer
 

oui en effet :D

n°1758695
macfleid
Posté le 11-07-2008 à 20:52:15  profilanswer
 

Merci pour les réponses,
 
En fait c'est pour un site php, je viens d'essayer sous phpmyadmin et ca marche pas.
 
Si je fais
SELECT Count(one) AS un FROM MaTable WHERE one = 145
 
J'ai bien 2 qui s'affiche.
Il me faudrai la même chose sauf sur les 3 colonne one two three
 
Au pire je peux trouver un moyen pour faire 3 requêtes (1 par colonne) mais c'est sans doute mieux si ca pouvait se faire en une.


Message édité par macfleid le 11-07-2008 à 21:09:57
n°1758710
MagicBuzz
Posté le 11-07-2008 à 21:58:29  profilanswer
 

ben tu dois adapter la syntaxe "if then else end" à mysql. certainement à coup de "case one when 145 then 1 else 0 end"


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

  Plusieurs Count et Group By sur une table

 

Sujets relatifs
[résolu]Jointure externe et GROUP BY[PHP-MySQL] Problème récupération dernier ID d'une table.
copier une table d'une bdd postgresqlliste TO table
[SSIS] Flat file vers Table dans la BDDChanger balise dans plusieurs fichiers
fpdf : générer plusieurs pdf en même tempsComment savoir si une table est lockée ?
Télécharger en une fois plusieurs fichiers... 
Plus de sujets relatifs à : Plusieurs Count et Group By sur une table


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