【问题标题】:Select Difference Between Rows (Postgres)选择行之间的差异(Postgres)
【发布时间】:2010-08-21 18:50:36
【问题描述】:

随着时间的推移,我正在为 url 汇总 facebook“喜欢”计数。每小时,我检查“喜欢”计数并将其插入带时间戳的行中。我怎样才能得到新行和前一小时行之间的总差?

例如,

  1. 在下午 2 点为 id=1 插入总计=5
  2. 在下午 3 点为 id=1 插入 total=12,diff_since_last=7

谢谢!

【问题讨论】:

    标签: database postgresql


    【解决方案1】:

    应该这样做。

    选择身份证, 全部的, 总 - 滞后(总)超过(按时间戳列按 id 顺序分区)作为 diff_since_last FROM the_table_with_no_name

    【讨论】:

      【解决方案2】:

      当我尝试 a_horse_with_no_name 的解决方案时,我必须删除“按 id 分区”部分才能获得结果(我使用的是 PG 9.2)

      选择 ID, 全部的, 总计 - 滞后(总计)超过(按 timestamp_column 排序)作为 diff_since_last FROM the_table_with_no_name

      【讨论】:

        猜你喜欢
        • 2014-03-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-20
        • 1970-01-01
        • 2018-06-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多