我想插入新行,今年总和+上一年的价值插入到今年的新rawwiend
示例
在2014年1月1日总和所有降雨量值= 2013年的2245和2012年的总和= 2250年2014-01-01应该插入新的原始表格2013年值为2245 + 2250
我怎么能这样做........请帮助我,我可以从这段代码获得2013年的总和,但我怎样才能增加上一年的价值,并在表格中插入总和为2013年
INSERT IGNORE INTO `clima_data`.`mas_aver_curve` ( `year` , `cumulative` )
SELECT year(str_to_date(date, '%m/%d/%Y'))as year round(sum(rainfall),1)
FROM reg_data3 G
GROUP BY year(date) ;
答案 0 :(得分:0)
你在找这个吗?
INSERT INTO mas_aver_curve (year, cumulative)
SELECT '2014-01-01', ROUND(SUM(rainfall), 1) rainfall
FROM reg_data3 G
WHERE date >= '2012-01-01'
AND date < '2014-01-01';
这是 SQLFiddle 演示
答案 1 :(得分:0)
要将前一年的总和计入累积字段,请使用此sqlFiddle
INSERT INTO mas_aver_curve(year,cumulative)
SELECT year(date) as year,
(SELECT sum(rainfall)
FROM reg_data3 as G
WHERE G.date <= G2.date) as cumulative
FROM reg_data3 G2
GROUP BY year;
如果你想要2014年的一行以及所有其他年份的总计,请使用此sqlFiddle
INSERT INTO mas_aver_curve(year,cumulative)
SELECT year(date) as year,
(SELECT sum(rainfall)
FROM reg_data3 as G
WHERE G.date <= G2.date) as cumulative
FROM (SELECT date,rainfall FROM reg_data3 G2
UNION
SELECT curdate() + INTERVAL 1 YEAR,0
)G2
GROUP BY year;