Php 用于计算每天订单数量的SQL查询

Php 用于计算每天订单数量的SQL查询,php,mysql,sql,json,Php,Mysql,Sql,Json,有一张桌子: order_id | time_order 1 | 2018-10-10 12:22:05 2 | 2018-10-11 05:22:05 4 | 2018-10-12 07:22:05 5 | 2018-10-12 15:25:05 ... 我需要计算时间间隔内每天的订单数量,并生成一个类似$str='1,1,2,0…'的字符串。如果某些天没有订单-0 正在尝试这样的查询: $query = $mysqli->query("SELECT COUNT(*) FROM

有一张桌子:

order_id | time_order
1 | 2018-10-10 12:22:05
2 | 2018-10-11 05:22:05
4 | 2018-10-12 07:22:05
5 | 2018-10-12 15:25:05
...
我需要计算时间间隔内每天的订单数量,并生成一个类似$str='1,1,2,0…'的字符串。如果某些天没有订单-0

正在尝试这样的查询:

    $query = $mysqli->query("SELECT COUNT(*) FROM orders WHERE DATE(time_order) >= DATE(NOW()) - INTERVAL 7 DAY GROUP BY time_order");
    while( $row = mysqli_fetch_row($query) )
{
    $str .= ','.json_encode($row,true);
}
但结果是1,1,1,1,1,1,1,1,1,1,1,1,1,1

请告知如何进行正确的查询

塔克斯

我想你想要:

SELECT DATE(time_order), COUNT(*)
FROM orders
WHERE DATE(time_order) >= DATE(NOW()) - INTERVAL 7 DAY
GROUP BY DATE(time_order);

也就是说,您的版本正在输出每个
时间顺序的日期。但是,
分组依据
包含时间,因此您将获得每个日期/时间的一行。

请参见如何接收结果,如1,2,0,1,0,4?0-如果在时间间隔内的某些日期没有订单(没有该日期的记录)?1 | 2018-10-10 2 | 2018-10-11 3 |无数据| 2018-10-13 4 | 2018-10-13