首页 > 解决方案 > 如何找到当前-1年每月,季度和年初至今的金额之和?

问题描述

我有一个包含两列的表:日期和金额。

在此处输入图像描述

我想计算当前-1年每月的金额总和,如下所示:

在此处输入图像描述

请帮助我。

标签: mysqldatabase

解决方案


您可以在 MySQL 中使用 CTE 生成与去年相同月份的金额。您可以将此作为参考

WITH sum_last as ( 
select sum(amount) as amount,
EXTRACT(YEAR_MONTH FROM DATE_ADD(date, INTERVAL 1 year)) as monthyear 
from test 
WHERE date <= DATE_SUB(CURDATE(), INTERVAL 1 year) 
group by EXTRACT(YEAR_MONTH FROM DATE_ADD(date, INTERVAL 1 year)) ) 
select t.date,t.amount,sum_last.amount from test t left join sum_last on EXTRACT( YEAR_MONTH FROM date) = sum_last.monthyear; 

推荐阅读