2013-06-03 3 views
1

Я Я использую PostgreSQL 8.3 (нет выбора в версии на данный момент)PostgreSQL: экстракт (эпоха функция над несколькими строками

Мои исходные данные следующим образом:

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 

Я не забочусь о временных интервалах между отдельными частями у меня есть много идентификационных номеров и каждый из них может иметь ту или более является часть интервалы к нему я довольно новый для SQL.. поэтому я довольно потерян Вот. Я застрял в том, как объединить два конца и начать строки в одну строку в новом представлении.

+0

Вам нужно заботиться о столбцах 'from' и' to'? Или гарантируется, что каждая серия начнется с 'open' и заканчивается' close'? –

ответ

0
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 
Смежные вопросы