mysql - MySQL:计算过去 12 个月的数据
问题描述
我正在尝试获取过去 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)
我在这里做错了什么?
解决方案
只是一个例子,当前月份是六月。所以我想要从 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')
推荐阅读
- java - JAVA:如何通过多个字符串日期计算平均天数?
- laravel - 在实时服务器中部署 laravel 应用程序的更好方法是什么?
- git - 如何在新系统中使用 Visual Studio 项目复制我的 git 分支并并行工作
- perl - 将 URL 文件(网站快捷方式)作为电子邮件附件发送
- python - 带有 if/else 语句的嵌套列表理解
- sql - Oracle SQL - UNION ALL 返回行,即使它们不存在
- flutter - Flutter:垂直文本小部件
- xml - 使用 SOAP::Lite 解析 XML 响应
- php - 以正确的方式删除 WooCommerce 侧边栏 - TwentySeventeen?
- sql - 如何进行此查询