我有一个订单列表,并希望按创建时间的日期输出一个列表(1)总订单和(2)fulfillment_status 为“已付款”的订单
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
这样输出是:
date total_orders total_paid_orders
2015-10-17 1 0
2015-10-18 2 1
我明白了:
select count(*) from orders group by created_at ???
但 ....
created_at::date
将时间戳转换为日期(没有时间),从而按天分组。count(*) filter (where fulfillment_status = 'paid')
只计算条件为真的行。