根据年份和月份字段计算前面十二个月的总和

数据库里面字段

图片说明

结果显示

图片说明

帮你顶一下,感觉有点难,应该要用到存储过程吧。

这个用纯sql实现确实有点困难,但是可以换个角度,查询sql之前,先把给定日期之前的12个月的日期计算出来,
然后根据这两个日期再去查询数据库,就会简单很多。

假设表 名为 temp 以下是mysql的写法

 select s.FYEAR,s.FMONTH,(select sum(tm.CUM) from temp tm where (tm.FYEAR = s.FYEAR and tm.FMONTH <= s.FMONTH) or tm.FYEAR<s.FYEAR ) from 
(select (@rowNO := @rowNo+1) AS rowno,FYEAR,FMONTH,CUM FROM temp,(select @rowNO :=0) b   order by FYEAR asc,FMONTH asc ) s
where s.rowno >11

写错了 少了 一段 以下是 正解

 select s.FYEAR,s.FMONTH,(select sum(tm.CUM) from temp tm where (tm.FYEAR = s.FYEAR and tm.FMONTH <= s.FMONTH) or tm.FYEAR<s.FYEAR order by tm.FMONTH desc ,tm.FMONTH desc limit 12) from 
(select (@rowNO := @rowNo+1) AS rowno,FYEAR,FMONTH,CUM FROM temp,(select @rowNO :=0) b   order by FYEAR asc,FMONTH asc ) s
where s.rowno >11

没有大神来帮我一下吗?