另一个 SQL 问题。我有以下查询:
SELECT EXTRACT(epoch from dt) as diff
from (
SELECT time_col - lag(time_col) OVER dt
FROM myTable where elementID=1234
) as dt
这会计算时间差,我得到例如以下ElementID
1234 的结果表:
34
345
6
2
...
但是,我想对存储在表中的每个元素 ID 执行此操作elementTable
。这是我的方法:
SELECT EXTRACT(epoch from dt) as diff
from (
SELECT time_col - lag(time_col) OVER dt
FROM myTable where elementID=any(select elementID from elementTable)
) as dt
这非常接近想要的结果,但是我将所有内容都放在一个列中。例如
34 <- For element id = 1234
345 <- For element id = 1234
6 <- For element id = 1234
2 <- For element id = 1234
83 <- For element id = x
4 <- For element id = x
6 <- For element id = x
...
我想要的是这个(按元素id在列中排序):
1234 | x | ...
------------------
34 83 ...
345 4 ...
6 6 ...
2
很抱歉用我的 SQL 问题打扰您,我正在努力学习...