php - 选择最近 30 天的所有订单,并计算每天有多少

标签 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 ...

}

我有一个名为“orders”的表,其中包含 id、customer_id 和日期字段。

我发现了这个问题 SQL query for Calculating Total No. of Orders per Day?但这对我没有帮助,或者我不太了解,顺便说一句,我是初学者。谢谢!

附注我设法做的是选择过去 30 天的所有订单。

$this->db->query("SELECT * FROM orders WHERE customer_id=" . $customer['id'] . " AND date > ADDDATE(CURDATE(), INTERVAL -30 DAY)")->result_array();

最佳答案

使用 MySQL EXTRACT函数从您的日期字段 中获取,然后根据此结果按结果分组。我没有尝试过,但以下查询应该有效:

SELECT COUNT(*) AS orders, date_field
FROM your_table
WHERE customer_id=$my_cusotmer
GROUP BY EXTRACT(DAY FROM date_field)

关于php - 选择最近 30 天的所有订单,并计算每天有多少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6559428/

相关文章:

php - 点火器 |获取上一个 URL 并用作上一页的后退按钮

php - Android 应用程序与用代码点火器框架编写的 php 文件通信

php - 使用模态的 codeigniter 表单登录验证

php - 允许用户操作在浏览器中呈现的图像 - API 推荐?

javascript - jQuery - 从数据库加载信息到不同的变量中?

mysql - 返回 mySQL 原始行号

php - 如何在 mysql 中使用 JOIN 获取不同值?

mysql - MySQL 查询中的多值行计数

php - IIS - Mysql 性能问题

PHP session 数组 - 存储具有不同值的相同项目