Nem*_*vić 4 php mysql codeigniter
我想从一个客户那里选择过去30天的所有订单,所以我需要customer_id ="$ customer_id"并计算每个客户每天订单的数量.
我需要最终得到像这样的数组
Array (
[1] => Array (
[orders] => 41
[date] => 2011-06-13 17:43:50
)
[2] => Array (
[orders] => 11
[date] => 2011-07-13 17:43:50
)
[4] => Array (
[orders] => 2
[date] => 2011-12-13 17:43:50
)
and so on... for 30 days, if some day I dont have any orders, I dont need array or [orders] = 0 ...
}
Run Code Online (Sandbox Code Playgroud)
我有一个名为"orders"的表,其中包含id,customer_id和date字段.
我发现这个问题SQL查询计算每日订单总数?但它没有帮助我,或者我不太了解它,顺便说一下我是初学者.谢谢!
ps我设法做的是选择过去30天的所有订单.
$this->db->query("SELECT * FROM orders WHERE customer_id=" . $customer['id'] . " AND date > ADDDATE(CURDATE(), INTERVAL -30 DAY)")->result_array();
Run Code Online (Sandbox Code Playgroud)
使用MySQL EXTRACT函数来获取一天从你的日期字段根据此通过的结果,然后组.我没有尝试过,但以下查询应该有效:
SELECT COUNT(*) AS orders, date_field
FROM your_table
WHERE customer_id=$my_cusotmer
GROUP BY EXTRACT(DAY FROM date_field)
Run Code Online (Sandbox Code Playgroud)