Re: COUNT func - Mailing list pgsql-sql

From Oleg Lebedev
Subject Re: COUNT func
Date
Msg-id 3BCF5FF9.258EAC36@waterford.org
Whole thread Raw
In response to COUNT func  (Oleg Lebedev <olebedev@waterford.org>)
List pgsql-sql
It worked!
I checked the query plan it generates, and it's really a one-pass scan.
thanks,

Oleg

Stephan Szabo wrote:

> 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: "Josh Berkus"
Date:
Subject: Re: Doing a regexp-based search/replace?
Next
From: Stephan Szabo
Date:
Subject: Re: COUNT func