SQL获取时间戳记间隔之和

时间:2019-04-30 15:11:49

标签: sql postgresql

我的POSTGRESQL数据库中有这样的行:

enter image description here

我想对所有时间戳记间隔求和,其中power_draw_mode_id =2。这意味着我想对第1行和第3行的(to_date-from_date)求和。

在此示例中,预期值为9(小时)。

有人可以帮我怎么做吗?

2 个答案:

答案 0 :(得分:1)

是您想要的吗? :

 select sum(to_date-from_date) from your_table where power_draw_mode_id=2

答案 1 :(得分:0)

您可以尝试以下方法。它将以小时为单位给出to_date和from_date之间的差总和:

SELECT 
    x.distinct power_draw_mode_id,
    sum(x.age_in_hours)
FROM
    (SELECT
        *,
        extract(EPOCH FROM age(to_date, from_date))/ 3600 as age_in_hours
    FROM
        your_table
    )x
WHERE
    x.power_draw_mode_id = 2