gpt4 book ai didi

mysql - 将月初至今与上个月同期 MySQL 进行比较

转载 作者:行者123 更新时间:2023-11-29 10:21:30 24 4
gpt4 key购买 nike

我正在尝试将从本月初至今的总购买量与上个月和前一个月的同期购买量进行比较。

例如,3月1日至7日,与2月1日至7日和1月1日至7日相比

到目前为止,我已经能够获取截至日期的月份,但我必须手动输入上个月的日期进行比较,我应该使用什么查询来自动获取这些之前的日期?

当前代码

SELECT *,
current_downloads/M_1 AS `M_1_Ratio`,
current_downloads/M_2 AS `M_2_Ratio`
FROM
(SELECT count(*) AS current_downloads
FROM `purchase`
WHERE date(`purchase`.`timestamp`) >= DATE_FORMAT(NOW() ,'%Y-%m-01')) t1
JOIN
(SELECT count(*) AS M_1
FROM `purchase`
WHERE date(`purchase`.`timestamp`) BETWEEN {{date3}} AND {{date4}}) t2
JOIN
(SELECT count(*) AS M_2
FROM `purchase`
WHERE date(`purchase`.`timestamp`) BETWEEN {{date5}} AND {{date6}}) t3

最佳答案

您可以使用 DATE_SUB() 进行这些计算,并更改要减去的间隔,一月或两个月

例如

SELECT DATE(NOW());
+-------------+
| DATE(NOW()) |
+-------------+
| 2018-03-08 |
+-------------+

SELECT DATE_SUB(DATE_FORMAT(NOW(),'%Y-%m-01'), INTERVAL 1 MONTH);
+-----------------------------------------------------------+
| DATE_SUB(DATE_FORMAT(NOW(),'%Y-%m-01'), INTERVAL 1 MONTH) |
+-----------------------------------------------------------+
| 2018-02-01 |
+-----------------------------------------------------------+

SELECT DATE_SUB(DATE(NOW()), INTERVAL 1 MONTH);
+-----------------------------------------+
| DATE_SUB(DATE(NOW()), INTERVAL 1 MONTH) |
+-----------------------------------------+
| 2018-02-08 |
+-----------------------------------------+

关于mysql - 将月初至今与上个月同期 MySQL 进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49177166/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com