Php MYSQL:使用空计数值跨日期范围聚合订单
我试图用图表表示过去7天内某个特定日期的订单总数,但当他们的订单不是某个特定日期的任何订单时,我遇到了一个问题,因为查询既不是值也不是日期,因此返回的数组小于7Php MYSQL:使用空计数值跨日期范围聚合订单,php,mysql,date,Php,Mysql,Date,我试图用图表表示过去7天内某个特定日期的订单总数,但当他们的订单不是某个特定日期的任何订单时,我遇到了一个问题,因为查询既不是值也不是日期,因此返回的数组小于7 SELECT IFNULL(COUNT(*),0) as purchase_count, DATE(tb_order.order_date) as order_date FROM tb_order_attendee_info JOIN tb_order on tb_orde
SELECT IFNULL(COUNT(*),0) as purchase_count, DATE(tb_order.order_date) as order_date
FROM tb_order_attendee_info
JOIN tb_order on tb_order.order_id = tb_order_attendee_info.order_id
JOIN tb_events on tb_events.event_id = tb_order.event_id
WHERE tb_order_attendee_info.refunded='N' AND order_date between DATE_SUB(now(), interval 10 day) and now()
GROUP BY DATE(tb_order.order_date)";
我一直在想如何让它返回购买计数为零值的数组和递增日期,不幸的是,它只返回计数大于0的日期。您试图在数据中没有结果行的地方引入结果行。这是不可能的(如果不使用。您不能迭代日期,因为SQL中没有
for
循环
您可以得到的最接近的结果是拥有/创建一个(临时)表,该表包含您想要在结果中拥有的所有日期,然后连接到此表