У меня есть такая таблица ниже.
ID Time State
1 1 "active"
1 2 "active"
1 3 "active"
1 4 "inactive"
2 2 "inactive"
2 3 "active"
3 1 "active"
3 3 "active"
3 4 "inactive"
Я хочу отсортировать таблицу по времени начала / окончания по состоянию.
Может потребоваться lag()
оконная функция, но я не знаюкак найти конечную точку того же состояния.
Моя ожидаемая таблица должна выглядеть следующим образом.
ID Start End State
1 1 4 "active"
1 4 NULL "inactive"
2 2 3 "inactive"
2 3 NULL "active"
3 1 4 "active"
3 4 NULL "inactive"