Re: FW: SELECT + COUNT

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
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

Browse pgsql-fr-generale by date

  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