Re: COUNT func - Mailing list pgsql-sql

From Stephan Szabo
Subject Re: COUNT func
Date
Msg-id Pine.BSF.4.21.0110181538210.28566-100000@megazone23.bigpanda.com
Whole thread Raw
In response to COUNT func  (Oleg Lebedev <olebedev@waterford.org>)
List pgsql-sql
On Thu, 18 Oct 2001, Oleg Lebedev wrote:

> Hi,
> I am trying to count the number or rows in a table with similar field
> values. I want to do it in one table scan.
> In other words, say I want to count the number of rows in Person table,
> having age equal to 40, and the number of rows with status as 'married'.
> I want Person table to be scanned only once during this query.
> So, basically I want to do the following:
> SELECT COUNT(age=40), COUNT(status='married')
> FROM Person;
> 
> I tried to use aggregate functions with group by and having clauses, but
> I still can't figure it out (probably because of the lack of
> experience).

Maybe something like [untested]
SELECT SUM(case when age=40 then 1 else 0 end),       SUM(case when status='married' then 1 else 0 end)FROM PERSON;
will work?



pgsql-sql by date:

Previous
From: Oleg Lebedev
Date:
Subject: Re: COUNT func
Next
From: Joseph Shraibman
Date:
Subject: index question