Re: COUNT func

From: Oleg Lebedev <olebedev(at)waterford(dot)org>
To: Stephan Szabo <sszabo(at)megazone23(dot)bigpanda(dot)com>, Postgres SQL Mailing List <pgsql-sql(at)postgresql(dot)org>
Subject: Re: COUNT func
Date: 2001-10-18 23:04:25
Message-ID: 3BCF5FF9.258EAC36@waterford.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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?

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Joseph Shraibman 2001-10-19 00:25:44 index question
Previous Message Stephan Szabo 2001-10-18 22:39:22 Re: COUNT func