Re: multiple counts using CASE

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: multiple counts using CASE
Дата
Msg-id 29058.1016551112@sss.pgh.pa.us
обсуждение исходный текст
Ответ на multiple counts using CASE  ("Johnson, Shaunn" <SJohnson6@bcbsm.com>)
Список pgsql-general
"Johnson, Shaunn" <SJohnson6@bcbsm.com> writes:
> 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 по дате отправления:

Предыдущее
От: "Johnson, Shaunn"
Дата:
Сообщение: multiple counts using CASE
Следующее
От: Andrew Sullivan
Дата:
Сообщение: Re: locking problems