У меня есть таблица, в которой у одного человека есть несколько строк разных сеансов с датами начала и окончания. Дата окончания в первой строке может совпадать с датой начала в следующей строке, и поэтому я хочу объединить их в одну строку, поскольку сеанс фактически продолжается. Я использую MySQL, но версия 5.7 и обновление для использования более поздней версии невозможно.
Это пример того, что у меня есть: **** Редактировать с примером, когда один и тот же пользователь имеет несколько сеансов:
create table dates (USER_ID varchar(100),
start datetime,
end datetime);
insert into dates values ('1','2014-06-01','2014-07-01');
insert into dates values ('1','2014-07-01','2014-08-01');
insert into dates values ('1','2014-08-01','2014-09-01');
insert into dates values ('2','2014-07-01','2014-08-01');
insert into dates values ('2','2014-08-01','2014-09-01');
insert into dates values ('2','2014-10-01','2014-11-01');
+---------+---------------------+---------------------+
| USER_ID | start | end |
+---------+---------------------+---------------------+
| 1 | 2014-06-01 00:00:00 | 2014-07-01 00:00:00 |
| 1 | 2014-07-01 00:00:00 | 2014-08-01 00:00:00 |
| 1 | 2014-08-01 00:00:00 | 2014-09-01 00:00:00 |
| 2 | 2014-07-01 00:00:00 | 2014-08-01 00:00:00 |
| 2 | 2014-08-01 00:00:00 | 2014-09-01 00:00:00 |
| 2 | 2014-10-01 00:00:00 | 2014-11-01 00:00:00 |
+---------+---------------------+---------------------+
Это то, что я хочу, а не просто минимальная / максимальная дата для каждого USER_ID
+---------+---------------------+---------------------+
| USER_ID | start | end |
+---------+---------------------+---------------------+
| 1 | 2014-06-01 00:00:00 | 2014-09-01 00:00:00 |
| 2 | 2014-07-01 00:00:00 | 2014-09-01 00:00:00 |
| 2 | 2014-10-01 00:00:00 | 2014-11-01 00:00:00 |
+---------+---------------------+---------------------+
Заранее спасибо.