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

时间:2018-11-13 06:07:16

标签: 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天)。我有点困惑,所以能提供任何帮助。

1 个答案:

答案 0 :(得分:1)

您可以在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
相关问题