mysql - 从 MySQL 中现有表行的总和创建新表
问题描述
我有一个名为 iput 的表,它有 12 个月的 IND 如下
并想在 output 中创建一个名为 output 的新表 ,第一个月是它自己,第二个月是第一个月加上第二个月,第三个月是第一个月加上第二个月加上第三个月,依此类推。
解决方案
以下查询应该为您提供您正在寻找的内容:
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
是某种类型的数字列。
推荐阅读
- python - 在 openCV2 网络摄像头上打印梵文文本
- java - 如何在java中将标头设置为selenium webdriver(每个请求可以使用不同的标头)
- vba - 删除外部标记后的 Outlook 主题排序
- jquery - 使用数据模型提交表单并获取 JSON 回复
- rust - 如何在 Diesel 中对 Postgres 数据库执行删除子查询?
- vue.js - 从 Vue 组件的 Javascript 部分到资产的路径
- python - 在 Python 中定义类变量时列表理解中未定义的变量
- c# - C# 反射方法 GetProperties(BindingFlags.Instance) 不返回子类对象
- ios - CollectionView 中的水平分页,就像 iPhone 相机中的一样(视频/慢动作/照片/等)
- blender - Cesium:gltf 文件的随机轮廓渲染