【问题标题】:SQL Subtract two rows from each other in same column to get a resultSQL 在同一列中相互减去两行以获得结果
【发布时间】:2020-08-05 10:06:57
【问题描述】:

我正在运行许多以 5 分钟为间隔收集数据的能源阅读器。为了在两个时间戳之间使用功率,我需要从新数据中减去旧数据。

我是 SQl 的新手,所以我想问一下我需要使用什么 SQL 语法来获得两个值之间的总和。

数据库结构示例:

非常感谢。

【问题讨论】:

  • 在问题中提供示例数据和所需结果作为文本表格,而不是图像。添加适当的数据库标签。

标签: php sql date window-functions


【解决方案1】:

如果您的数据库支持,您通常会使用窗口函数 lead()lag()

以下查询将与同一设备先前值的差异放在每一行上:

select
    t.*,
    t_energy_a - lag(t_energy_a) over(partition by meter_id order by dod) diff
from mytable t

【讨论】:

  • 非常感谢。这已经奏效了。这正是我所需要的。我是新人,所以我从你自己或互联网等人那里收集到所有这些小东西。有时从其他人​​那里获得建议会更快,因为他们确切地知道在我什至不知道要寻找什么的情况下使用什么。感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多