MySQL创建一个包含现有行之和的行

霍华德·约翰森(HåvardJohansen)

我需要在表中创建一个新行,其中包含现有行的总和,并删除已累加的列。目前,删除不是优先事项,但确实需要删除。

 t                   UL1     UL2    UL3     PL1       PL2   PL3        P     Q1      Q2  Q3  CosPhi1 CosPhi2 CosPhi3  i
2015-08-19 12:26:56 394.7   396.3   393.2   10.7    -180.9  46.5    -123.7  10.4    8.7 13.7    0.9      1.0   1.0    0
2015-08-19 12:26:55 394.8   396.4   393.4   10.6    -180.7  47.0    -123.2  12.0    8.8 13.9    0.8      1.0   1.0    0
2015-08-19 12:26:54 394.7   396.2   393.1   11.6    -180.5  46.5    -122.5   9.6    9.4 13.9    1.0      1.0   1.0    0

桌子看起来像这样。数据每秒插入一次,并且该表包含数百万行。由于我不需要这么高的分辨率用于历史用途,因此我想以15分钟的间隔将它们相加并删除“旧”数据。需要求和的列是PL1,PL2,PL3和P。t可以在15分钟间隔内的任何时间。

我希望它看起来像这样。

     t                      PL1    PL2   PL3     P    i
2015-08-19 12:26:56        33.0  -540.9  135.5 -375.7  0

我不确定如何对此进行查询,感谢您的帮助。

缺氧

您想要在一个过程中混合两件事(或者可能是三件事),这很危险,难以测试,并且会在桌子上产生很大的负担。

我建议您采用一种更好的,经过验证的方法。

  1. 创建一个新表来存储聚合值。它可以具有与现有表相同的结构,也可以具有稍微不同的结构。只保留要汇总列,跳过其他列(UL1UL2UL3ASO)。
  2. 编写一个脚本,从大表中选择数据块(例如一次15分钟),以计算聚合值并将其插入新表中。它可以运行SQL查询来执行此操作(使用INSERT ... SELECT),也可以在应用程序端进行计算,然后选择最适合您的公式和应用程序工作流程的内容。如果可能,请将脚本安装为cron作业,以每15分钟左右运行一次。它也可以删除已处理的数据,以保持旧表的苗条,或者您可以决定保留它们。
  3. 修改应用程序的代码,以使用新表读取历史记录数据,并使用旧表获取最新数据。由于它们的结构不同以及它们存储的数据的含义,最好的方法是使用现有代码从中读取数据,而是编写映射到新表结构的新代码。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MySQL创建一个视图,其中包含3个表中的2个表的所有行组合?

来自分类Dev

Postgres:创建现有行的副本,更改一个值?

来自分类Dev

创建一个包含另一个现有实体的新实体

来自分类Dev

创建一个包含所有来自CSV文件的特定字符串的行的数组

来自分类Dev

使用包含列表的列从现有框架中构建一个新的DataFrame(使用列表填充新行)

来自分类Dev

MySQL:创建至少一个属性所属的所有行

来自分类Dev

如何创建一个包含每个元组中元素之和的列表?

来自分类Dev

无法更新同一表中两个现有值之和的值(MySQL)

来自分类Dev

如何创建一个在其行中具有一定值的mysql结果数组

来自分类Dev

创建一个DataFrame,它由另一个的所有行对组成

来自分类Dev

删除除包含一个点的行以外的所有行

来自分类Dev

删除包含$的行,但末尾带有一个$的行除外

来自分类Dev

从六个不同的列中创建一个列,其中一行的所有列均包含一个空值(一个除外)

来自分类Dev

任务是创建一个包含2行的表,其中每个值都是2行之间所有数字的总和。通过功能解决程序

来自分类Dev

创建一个子集对象,该子对象仅包含现有对象的某些属性

来自分类Dev

更新另一个表中hstore列中的现有行

来自分类Dev

如何用另一个工作表中的新数据更新现有行?

来自分类Dev

通过where子句选择一个现有的行顺序

来自分类Dev

PHP-创建一个新文件,其中包含file1中所有不包含file2中任何文本的行

来自分类Dev

根据现有表创建一个新表

来自分类Dev

创建一个substreambuf以从现有istream读取

来自分类Dev

从现有的plist创建一个新的plist?

来自分类Dev

从现有的一个创建新的DataFrame列?

来自分类Dev

如何从现有列创建一个新列?

来自分类Dev

如何从现有值创建一个新对象?

来自分类Dev

在现有馆藏中创建一个新馆藏

来自分类Dev

Git:从现有项目创建一个新项目

来自分类Dev

为现有项目创建一个 GitHub 页面

来自分类Dev

创建一个android自定义视图:一行带有按钮的行

Related 相关文章

  1. 1

    MySQL创建一个视图,其中包含3个表中的2个表的所有行组合?

  2. 2

    Postgres:创建现有行的副本,更改一个值?

  3. 3

    创建一个包含另一个现有实体的新实体

  4. 4

    创建一个包含所有来自CSV文件的特定字符串的行的数组

  5. 5

    使用包含列表的列从现有框架中构建一个新的DataFrame(使用列表填充新行)

  6. 6

    MySQL:创建至少一个属性所属的所有行

  7. 7

    如何创建一个包含每个元组中元素之和的列表?

  8. 8

    无法更新同一表中两个现有值之和的值(MySQL)

  9. 9

    如何创建一个在其行中具有一定值的mysql结果数组

  10. 10

    创建一个DataFrame,它由另一个的所有行对组成

  11. 11

    删除除包含一个点的行以外的所有行

  12. 12

    删除包含$的行,但末尾带有一个$的行除外

  13. 13

    从六个不同的列中创建一个列,其中一行的所有列均包含一个空值(一个除外)

  14. 14

    任务是创建一个包含2行的表,其中每个值都是2行之间所有数字的总和。通过功能解决程序

  15. 15

    创建一个子集对象,该子对象仅包含现有对象的某些属性

  16. 16

    更新另一个表中hstore列中的现有行

  17. 17

    如何用另一个工作表中的新数据更新现有行?

  18. 18

    通过where子句选择一个现有的行顺序

  19. 19

    PHP-创建一个新文件,其中包含file1中所有不包含file2中任何文本的行

  20. 20

    根据现有表创建一个新表

  21. 21

    创建一个substreambuf以从现有istream读取

  22. 22

    从现有的plist创建一个新的plist?

  23. 23

    从现有的一个创建新的DataFrame列?

  24. 24

    如何从现有列创建一个新列?

  25. 25

    如何从现有值创建一个新对象?

  26. 26

    在现有馆藏中创建一个新馆藏

  27. 27

    Git:从现有项目创建一个新项目

  28. 28

    为现有项目创建一个 GitHub 页面

  29. 29

    创建一个android自定义视图:一行带有按钮的行

热门标签

归档