我有一个数据库,其中包含一列id和另一列json数据,其中包含名称,时间戳,动作和位置的信息。
但是下面的SUM函数不起作用。
它只输出一列带有endtime-starttime的行。 我在期待总和(endtime-starttime) 请帮忙。 下面是代码:
SELECT sum(extract (epoch from(endtime::timestamp - starttime::timestamp))/60)
FROM
(select data->body->>timestamp as endtime,
row_number() over (order by id) as row
from table
where data->body->>action='off')as endtable
inner join
(select data->body->>timestamp as starttime,
row_number() over (order by id) as row
from table
where data->body->>action='on')as starttable
on endtable.row = starttable.row
group by endtable.row, starttable.row;