Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#1 04/01/2013 20:01:23
- drouault.p
- Membre
Utiliser un resultat d'agregat dans une clause where
Bonjour
Je cherche à utiliser un resultat d'aggregat dans une clause where mais postgres me renvoit une erreur m'indiquant que le champs n'existe pas.
Par exemple :
select count(id) as nb from matable where nb > 1;
ne marche pas.
Si je fais :
select count(id) as nb from matable where count(id) > 1;
Postgres m'indique que je ne peux utiliser d'aggregat dans une clause where.
Auriez vous une solution (à part passer par une fonction) ?
Merci d'avance
Drouault.P
Hors ligne
#2 04/01/2013 21:42:57
- rjuju
- Administrateur
Re : Utiliser un resultat d'agregat dans une clause where
Bonjour,
il faut utiliser un group by
SELECT id,count(*) as nb FROM matable HAVING count(*) > 1;
Julien.
https://rjuju.github.io/
Hors ligne
#3 07/01/2013 00:38:18
- drouault.p
- Membre
Re : Utiliser un resultat d'agregat dans une clause where
Bonsoir
Oui j'avais oublié que je faisais un group by sur les champs. Et avec Having, ça marche parfaitement, merci.
Hors ligne