Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/12/2007, 21h19   #1
Membre du Club
 
Inscription : octobre 2006
Messages : 102
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 102
Points : 46
Points : 46
Par défaut Sélection sur un COUNT

Bonjour à tous,

Soit une table comprenant des personnes avec un champs "prenom"

Je fais
Code :
1
2
 
SELECT prenom, COUNT(prenom) AS somme FROM personnes   GROUP BY prenom;
et j'obtiens bien
Code :
1
2
3
4
5
6
7
8
9
10
11
 
+---------------------------+-------+
| prenom                    | somme |
+---------------------------+-------+
| Andreas                   |     1 |
| Andrée                    |     7 |
| Andreia                   |     1 |
| Angela                    |     1 |
| Angèle                    |     1 |
| Anita                     |     1 |
| Anne                      |    26 |
Je pensais retenir les prénoms figurant un certain nombre de fois dans ma table en faisant
Code :
SELECT prenom, COUNT(prenom) AS somme FROM personnes WHERE somme>5 GROUP BY prenom ;
mais ça donne l'erreur:

Code :
ERROR 1054 (42S22): Unknown COLUMN 'somme' IN 'where clause'
Quelqu'un voit-il une solution ou une autre façon d'obtenir ce résultat ?

Merci d'avance
gvdmoort est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2007, 21h39   #2
ced
Rédacteur/Modérateur

 
Avatar de ced
 
Homme Cédric Duprez
Inscription : avril 2002
Messages : 3 823
Détails du profil
Informations personnelles :
Nom : Homme Cédric Duprez
Âge : 36
Localisation : France, Loiret (Centre)

Informations professionnelles :
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : avril 2002
Messages : 3 823
Points : 6 423
Points : 6 423
Bonjour,

Toutes les conditions portant sur les fonctions d'agrégation (COUNT, MAX, MIN, SUM...) se font dans la clause HAVING en SQL :
Code :
1
2
3
4
SELECT prenom, COUNT(prenom) AS somme 
FROM personnes 
GROUP BY prenom 
HAVING COUNT(prenom) > 5 ;
ced
ced est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2007, 21h41   #3
Expert Confirmé Sénior
 
Avatar de qi130
 
Homme Pierre
Ingénieur qualité méthodes
Inscription : mars 2003
Messages : 3 726
Détails du profil
Informations personnelles :
Nom : Homme Pierre
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Ingénieur qualité méthodes
Secteur : Finance

Informations forums :
Inscription : mars 2003
Messages : 3 726
Points : 4 739
Points : 4 739
Code :
SELECT prenom, COUNT(prenom) AS somme FROM personnes   GROUP BY prenom HAVING somme>5
@ ced: de peu
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
-----------------------
Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
Usus magister est optimus
qi130 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2007, 22h02   #4
ced
Rédacteur/Modérateur

 
Avatar de ced
 
Homme Cédric Duprez
Inscription : avril 2002
Messages : 3 823
Détails du profil
Informations personnelles :
Nom : Homme Cédric Duprez
Âge : 36
Localisation : France, Loiret (Centre)

Informations professionnelles :
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : avril 2002
Messages : 3 823
Points : 6 423
Points : 6 423
Citation:
Envoyé par qi130 Voir le message
@ ced: de peu
Pffff, à force de jongler avec les SGBD...

ced
ced est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h08.


 
 
 
 
Partenaires

Hébergement Web