我用的是postgresql 8.3(目前版本没有选择)
我的原始数据如下:
ID | From | To | Time
01 | n/a | open | 06:56
01 | open | pt1 | 07:56
01 | pt1 | pt2 | 07:59
01 | pt2 | pt3 | 08:36
01 | pt3 | pt4 | 08:56
01 | pt4 | close | 09:58
我想要结束的是:
ID | Open_Time | Close_Time
01 | 06:56 | 09:58
我不关心各个部分之间的时间间隔。我有很多 ID 号,每个 ID 号都可以有这个或更多的部分间隔。我是 sql 的新手,所以我在这里很迷路。我坚持如何在新 View 中将两端和开头的行合并为一行。
最佳答案
select
id ID,
min(case rd.to when 'open' then "time" end) Open_Time,
min(case rd.to when 'close' then "time" end) Close_Time
from raw_data rd
group by id
关于sql - postgresql : extract(epoch function over multiple rows,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16901167/