MySQL:计算过去 12 个月的数据

时间:2021-06-17 04:25:44

标签: mysql

我正在尝试获取不包括本月的过去 12 个月的价值总和。

以下是示例数据。

enter image description here

我尝试使用此查询,但它没有返回任何记录。

这是我创建的查询。

SELECT id, sum(amount) FROM mydatatable where YEAR(datetime) = YEAR(CURRENT_DATE - INTERVAL 12 MONTH) AND MONTH(datetime) = MONTH(CURRENT_DATE - INTERVAL 12 MONTH)

我在这里做错了什么?

2 个答案:

答案 0 :(得分:0)

<块引用>

举个例子,当月是六月。所以我想要从 2020 年 5 月到 2021 年 5 月的计算。 – Rocx

如果这意味着“从 2020 年 5 月 1 日起至 2021 年 5 月 1 日不包括在内”,则

SELECT id, SUM(amount) 
FROM mydatatable 
WHERE `datetime` >= DATE_FORMAT(CURRENT_DATE, '%Y-%m-01') - INTERVAL '1 1' YEAR_MONTH
  AND `datetime` < DATE_FORMAT(CURRENT_DATE, '%Y-%m-01') - INTERVAL 1 MONTH

如果这意味着别的,那么只需调整减去的间隔。例如,对于“从 2020-06-01 包括到 2021-06-01 不包括在内”这将是

SELECT id, SUM(amount) 
FROM mydatatable 
WHERE `datetime` >= DATE_FORMAT(CURRENT_DATE, '%Y-%m-01') - INTERVAL 1 YEAR
  AND `datetime` < DATE_FORMAT(CURRENT_DATE, '%Y-%m-01')

答案 1 :(得分:-1)

SELECT id, sum(amount) FROM mydatatable where datetime > now() - INTERVAL 11 个月;

相关问题