首页 > 解决方案 > 从 MySQL 中现有表行的总和创建新表

问题描述

我有一个名为 iput 的表,它有 12 个月的 IND 如下 已经创建的表

并想在 output 中创建一个名为 output 的新表 输出我认为的演示 ,第一个月是它自己,第二个月是第一个月加上第二个月,第三个月是第一个月加上第二个月加上第三个月,依此类推。

标签: mysql

解决方案


以下查询应该为您提供您正在寻找的内容:

SELECT  i1.date,
        SUM(IFNULL(i2.ind, 0)) + i1.ind AS ind
  FROM  iput i1
    LEFT JOIN iput i2 ON i2.date < i1.date
  GROUP BY i1.date
  ORDER BY i1.date;

该查询获取 中的每一行iput,连接到该行之前iput发生的每一行,并将列的值相加。ind

样本输出:

date        ind
2019-01-01  5959684354
2019-01-02  17830250708
2019-01-03  35695117062
2019-01-04  59548261416

这假定它ind是某种类型的数字列。


推荐阅读