Re: find the number of rows for each table - Mailing list pgsql-sql

From Peter Eisentraut
Subject Re: find the number of rows for each table
Date
Msg-id Pine.LNX.4.21.0006172011290.348-100000@localhost.localdomain
Whole thread Raw
In response to find the number of rows for each table  (Patrick Coulombe <pcoulombe@mediacces.com>)
List pgsql-sql
Patrick Coulombe writes:

> I want to find the number of rows for each table (2) in 1 query,
> the query is:

To find the number of rows in one table you do

SELECT COUNT(*) FROM table;

To find the number of rows in two tables you send two queries like
that. There's no good way to do it in one shot, nor is there any reason
why there should: if you want two different pieces of information you send
two queries. Also note that some of your attempts are going to be wildly
slower than just two straightforward count(*) queries.

> 
> select distinct * from medias, contacts WHERE medias.media_id = 
> contacts.media_id AND medias_categories.media_id = medias.media_id AND 
> medias_categories.categorie_id = 1
> --------
> 700 rows
> 
> 
> If I want to find the number of row for medias (for the same query) I 
> have to do a other query :
> 
> select distinct * from medias WHERE medias.media_id = 
> contacts.media_id AND medias_categories.media_id = medias.media_id AND 
> medias_categories.categorie_id = 1
> --------
> 60 rows
> 
> 
> I search for a solution, I try that :
> 
> select distinct *, count(distinct (medias.media_id)), count(distinct 
> (contacts.contact_id)) from medias, contacts WHERE medias.media_id = 
> contacts.media_id AND medias_categories.media_id = medias.media_id AND 
> medias_categories.categorie_id = 1
> -------------------------------------------------
> ERROR:  parser: parse error at or near "distinct"
> 
> don't work, as you can see.

-- 
Peter Eisentraut                  Sernanders väg 10:115
peter_e@gmx.net                   75262 Uppsala
http://yi.org/peter-e/            Sweden



pgsql-sql by date:

Previous
From: Craig May
Date:
Subject: Database Transfer
Next
From: Peter Eisentraut
Date:
Subject: Re: Database Transfer