Re: [GENERAL] count case when - PG 9.2

Поиск
Список
Период
Сортировка
От Patrick B
Тема Re: [GENERAL] count case when - PG 9.2
Дата
Msg-id CAJNY3iuqJQ8MZVYkJK2bb0nQBB0ARacpR9ot7T1CLMCX-GZi8g@mail.gmail.com
обсуждение исходный текст
Ответ на Re: [GENERAL] count case when - PG 9.2  (vinny <vinny@xs4all.nl>)
Ответы Re: [GENERAL] count case when - PG 9.2
Re: [GENERAL] count case when - PG 9.2
Список pgsql-general
2017-03-09 23:15 GMT+13:00 vinny <vinny@xs4all.nl>:
On 2017-03-09 05:27, Patrick B wrote:
Hi guys. How can I count using 'CASE WHEN'?

Example:

SELECT

CASE

WHEN AND c.regdate > EXTRACT(epoch FROM (now() - INTERVAL
'14 day'))

THEN 'trial'

WHEN last_pay > EXTRACT(epoch FROM (now() - INTERVAL '37
day'))

THEN 'paying'

END as account_status,

c.id [1]

FROM public.clients c

WHERE (

(last_pay > EXTRACT('epoch' FROM now() - '12
Months'::INTERVAL))

)

ORDER BY 1
 I wanna know how many of 'trial' and 'paying' customers the query
returns. can you guys please advice how to do it?

Thanks
Patrick


comparisons like "A>B" return a boolean. Booleans can be cast to integers, and integers can be summed.

SUM((A>B)::int)

But depending on the situation, indexes etc it could be faster to run e separate count query, you'll have to test that.


Could you please guys give me a query as an example?

Thanks
P. 

В списке pgsql-general по дате отправления:

Предыдущее
От: Adrian Klaver
Дата:
Сообщение: Re: [GENERAL] Unable to start postgresql
Следующее
От: "David G. Johnston"
Дата:
Сообщение: Re: [GENERAL] count case when - PG 9.2