Ho una tabella slots
come questo:Unire file continue con PostgreSQL
Column | Type |
------------+-----------------------------+
id | integer |
begin_at | timestamp without time zone |
end_at | timestamp without time zone |
user_id | integer |
e mi piace per selezionare le righe unite per tempo continuo. Diciamo che ho (semplificato) dati come:
(1, 5:15, 5:30, 1)
(2, 5:15, 5:30, 2)
(3, 5:30, 5:45, 2)
(4, 5:45, 6:00, 2)
(5, 8:15, 8:30, 2)
(6, 8:30, 8:45, 2)
Vorrei sapere se è possibile selezionare le righe formattate come:
(5:15, 5:30, 1)
(5:15, 6:00, 2) // <======= rows id 2,3 and 4 merged
(8:15, 8:45, 2) // <======= rows id 5 and 6 merged
EDIT: Ecco il SQLfiddle
Sto usando Postgresql, versione 9.3!
Grazie!
Puoi tranquillizzare i tuoi dati? – Mihai
Domanda simile a SQL Server http://stackoverflow.com/questions/7520556/query-to-merge-continuous-temporal-records – Ram
Utilizzare una query ricorsiva, iniziare da stub iniziali iniziali non affrancabili. Estendi unendo il seguente segmento. Seleziona solo i percorsi più lunghi. – wildplasser