У меня есть такие данные:
select * from date_table;
startdate
2018-08-22
2018-08-24
2018-08-27
2018-08-29
2018-08-31
2018-09-05
2018-09-07
2018-09-10
Я написал этот запрос, который дает только разницу дней
CREATE temporary TABLE if not exists results AS (
select t.startdate, datediff(
(select min(t1.startdate)
from
date_table t1 where
t1.startdate>t.startdate),
t.startdate ) days_diff
from
date_table t) ;
select * from results:
Выше запрос дает результат как:
startdate days_diff
2018-08-22 2
2018-08-24 3
2018-08-27 2
2018-08-29 2
2018-08-31 5
2018-09-05 2
2018-09-07 3
2018-09-10
Но я хочу получить результат вроде:
startdate enddate days_diff
2018-08-22 2018-08-24 2
2018-08-27 2018-08-29 2
2018-08-31 2018-09-05 5
2018-09-07 2018-09-10 3
Я использую MySQL (версия 5.6). Пожалуйста, дайте мне знать, если есть какое-либо решение для этой проблемы. Заранее спасибо.