sql - postgresql : extract(epoch function over multiple rows

标签 sql postgresql epoch

我用的是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/

相关文章:

postgresql - 为什么我从 Postgres 数据库中获取 iso 8601 日期?

sql - 用单个值和总和替换值集

postgresql - 通过 CLI 重置 Azure PostgreSQL 服务器用户密码

python - 如何在 python 中将 1970 年之前的日期转换为纪元?

json - epoch 快速将 json int(unix 时间戳)转换为可读日期

.net DateTime 对象,确保 MM/DD/YYYY 格式

sql - 具有区分大小写列名称的 T-SQL 动态透视

sql - 榜样 Gem : How to get all Users with role: [:admin, :mentor]

haskell - 如何在haskell中将纪元转换为公历日期时间

sql - 如果连接存在则从连接表返回值