Re: multiple counts using CASE - Mailing list pgsql-general

From Johnson, Shaunn
Subject Re: multiple counts using CASE
Date
Msg-id 73309C2FDD95D11192E60008C7B1D5BB0452E0F6@snt452.corp.bcbsm.com
Whole thread Raw
In response to multiple counts using CASE  ("Johnson, Shaunn" <SJohnson6@bcbsm.com>)
List pgsql-general

--Thanks Tom!

--That's just what I needed!

-X

-----Original Message-----
From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
Sent: Tuesday, March 19, 2002 10:19 AM

> Wonder if it is possible to get multiple counts
> from ONE query using the CASE statement.

If I'm understanding you correctly, you can't do what you want with
a single aggregate function call, because that will only give you
one result.

Consider something like

select
        sum(case when logic = '1' then 1 else 0 end),
        sum(case when logic = '2' then 1 else 0 end),
        sum(case when logic = '3' then 1 else 0 end)
from ...

I also wonder whether you aren't reinventing the notion of GROUP BY.
F'r instance

select logic, count(*) from ... group by logic;

                        regards, tom lane

pgsql-general by date:

Previous
From: Carsten Zerbst
Date:
Subject: Reference pg_user ?
Next
From: "Oberpriller, Wade D."
Date:
Subject: Visual display tool?