Eu tenho uma lista de pedidos e gostaria de gerar uma lista por dia de quando eles foram criados em (1) pedidos totais e (2) pedidos com um status de cumprimento de 'pago'
id | fulfillment_status | created_at (timestamp witout time zone)
1 2015-10-17 02:23:14.882131
2 paid 2015-10-18 02:23:14.882131
3 2015-10-17 02:23:14.882131
para que a saída seja:
date total_orders total_paid_orders
2015-10-17 1 0
2015-10-18 2 1
Eu chego tão longe:
select count(*) from orders group by created_at ???
mas ....
created_at::date
converte o timestamp em uma data (sem hora) e assim agrupa por dia.count(*) filter (where fulfillment_status = 'paid')
conta apenas as linhas em que a condição é verdadeira.