PHP/MYSQL 本月和上个月的比较日期

标签 php mysql

我正在开发一个报告模块。我一直在比较某些代理本周和上周的报告。

本周报表查询如下

SELECT COUNT(created_at) AS cust_count_new, agency_id, created_at FROM customers WHERE 
(customers.created_at >= DATE(NOW()) - INTERVAL 6 DAY AND customers.created_at
< DATE(NOW()) + INTERVAL 1 DAY

上周报表查询如下

SELECT COUNT(created_at) AS cust_count_old, agency_id, created_at FROM customers WHERE 
(customers.created_at >= DATE(NOW()) - INTERVAL 13 DAY AND customers.created_at 
< DATE(NOW()) - INTERVAL 6 DAY

我正在做的是比较本周和上周的报告。现在我如何将查询更改为本月和上个月(30 天)。我有点困惑,所以非常感谢任何帮助。

最佳答案

您可以在 INTERVAL 中使用 MONTH 作为单位。 。另外,您可以使用CURDATE()而不是 DATE(NOW()) 来获取当前日期。

这个报告查询将是:

SELECT COUNT(created_at) AS cust_count_new, 
       agency_id, 
       created_at 
FROM customers 
WHERE customers.created_at >= CURDATE() - INTERVAL 1 MONTH AND 
customers.created_at < CURDATE() + INTERVAL 1 DAY

报告查询如下

SELECT COUNT(created_at) AS cust_count_new, 
       agency_id, 
       created_at 
FROM customers 
WHERE customers.created_at >= CURDATE() - INTERVAL 2 MONTH AND 
customers.created_at < (CURDATE() - INTERVAL 1 MONTH) + INTERVAL 1 DAY

关于PHP/MYSQL 本月和上个月的比较日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53274791/

相关文章:

php - Magento 从用户购物车中删除优惠券代码

php - 我想接收来自特定位置的邮件

python - 使用 Python 将列表插入我的数据库

mysql - 三重内连接保留标题

php - 如何在 PHPExcel 图表中发送静态工作表数据

php - mysql插入总是连续的吗?

php - 在 jQuery ajax 中传递数组

MySQL - 有没有办法更改更新的 ENCLOSED IN 字符?

如果表 1 中的*所有*行不存在,则 MySQL 查询从表 2 中选择行

php - sql多插入函数参数无效错误