Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-fr-generale by date

Next:From: Jean-Samuel ReynaudDate: 2008-12-18 11:43:57
Subject: Re: FW: SELECT + COUNT
Previous:From: Gautier Di FolcoDate: 2008-12-18 11:28:31
Subject: FW: SELECT + COUNT

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group