[MySQL] SELECT COUNT + grouper par plages de valeurs

SELECT COUNT + grouper par plages de valeurs [MySQL] - SQL/NoSQL - Programmation

Marsh Posté le 23-04-2008 à 17:50:54    

Bonjour,
est-il possible en une seule requete de compter le nombre d'entités dans une base par plages de valeurs ?
 
Exemple : on a une table contenant :
- identifiant d'entreprise
- nom de l'entreprise
- nombre de salariés
 
On veut savoir le nombre d'entreprises de moins de 20 salariés, le nombre d'entreprises entre 21 et 50 salariés, et + de 50 salariés ?

Reply

Marsh Posté le 23-04-2008 à 17:50:54   

Reply

Marsh Posté le 23-04-2008 à 18:04:59    

SELECT COUNT(*), CASE WHEN effectif_total < 50 THEN '< 50'
WHEN effectif_total < 100 THEN '< 100' ELSE '>100' END nb_salaries FROM `structures` WHERE 1 GROUP BY nb_salaries

Message cité 1 fois
Message édité par Profil supprimé le 23-04-2008 à 18:05:21
Reply

Marsh Posté le 23-04-2008 à 18:05:05    

Evidemment  :D :

Code :
  1. SELECT
  2. SUM(IF (nb_salarie =< 20) THEN 1 ELSE 0),
  3. SUM(IF (nb_salarie > 20 AND nb_salarie =< 50) THEN 1 ELSE 0),
  4. SUM(IF (nb_salarie > 50) THEN 1 ELSE 0),
  5. FROM table_entreprise
  6. GROUP BY id_entreprise


---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
Reply

Marsh Posté le 23-04-2008 à 18:06:18    


Aussi, ca depend si tu veux les avoir en colonne ou en lignes....


---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
Reply

Marsh Posté le 24-04-2008 à 10:17:50    

Merci bien !

Reply

Sujets relatifs:

Leave a Replay

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