我正在尝试获取不包括本月的过去 12 个月的价值总和。
以下是示例数据。
我尝试使用此查询,但它没有返回任何记录。
这是我创建的查询。
SELECT id, sum(amount) FROM mydatatable where YEAR(datetime) = YEAR(CURRENT_DATE - INTERVAL 12 MONTH) AND MONTH(datetime) = MONTH(CURRENT_DATE - INTERVAL 12 MONTH)
我在这里做错了什么?
答案 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 个月;