From: | "Picavet Vincent" <Vincent(dot)Picavet(at)mediapost(dot)fr> |
---|---|
To: | "Gautier Di Folco" <xgx26xdf(at)hotmail(dot)com>, <pgsql-fr-generale(at)postgresql(dot)org> |
Subject: | Re: FW: SELECT + COUNT |
Date: | 2008-12-18 11:40:45 |
Message-ID: | EB18254270D1FD429047C987937D4A12039E7E7C@s92e07497.ad.mediapost.fr |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-fr-generale |
Bonjour,
> Ca fait déjà plusieurs mois que je suis sur un projet et
> aujourd'hui, en voulant tester une requête du type :
> SELECT *, COUNT(*) FROM ma_table ORDER BY...
>
> Et là, Stupeur ça plante, obligé de faire un GROUP BY qui me
> met tout les COUNT a 1
Effectivement count est un aggrégat, il fonctionne donc sur des groupes de lignes. On ne peut donc pas récupérer à la fois les valeurs individuelles, et la valeur de count qui est une valeur aggrégée.
Si tu fais le group by sur un identifiant unique, tu auras un groupe par ligne et le count vaudra donc effectivement 1.
> Comment faire, en une requête, pour récupérer toutes les
> entrées (ordonnées, triées) et leur nombre totale...
Pour récupérer le nombre de lignes renvoyées par une requete, selon la méthode que tu utilises pour l'envoyer au serveur et récupérer les résultats, tu devrais avoir une solution dédiée.
Si c'est en PHP tu as par exemple "pg_num_rows" qui te renvoie cela. Si c'est un autre environnement il faudrait que tu le précises.
Espérant que cela aide,
Vincent
From | Date | Subject | |
---|---|---|---|
Next Message | Jean-Samuel Reynaud | 2008-12-18 11:43:57 | Re: FW: SELECT + COUNT |
Previous Message | Gautier Di Folco | 2008-12-18 11:28:31 | FW: SELECT + COUNT |