У меня есть эти данные (образец):
event_id period_start period_end rating
100269 2/8/2016 6/30/2016 1
100269 6/30/2016 12/31/2016 1
100269 12/31/2016 6/30/2017 2
100269 6/30/2017 12/31/2017 2
Я бы хотел "сжать" строки, когда периоды (period_start
, period_end
) сразу последовательны И рейтинг тот же , Желаемый результат будет:
event_id period_start period_end rating
100269 2/8/2016 12/31/2016 1
100269 12/31/2016 12/31/2017 2
Обратите внимание, что в этом наборе данных не все периоды являются непосредственно последовательными для некоторых event_id
. Вот пример и желаемый результат:
event_id period_start period_end rating
100300 2/8/2016 6/30/2016 1
100300 6/30/2016 12/31/2016 1
100300 6/30/2017 12/31/2017 1
Желаемый результат:
event_id period_start period_end rating
100300 2/8/2016 12/31/2016 1
100300 6/30/2017 12/31/2017 1
Вы можете определить, является ли период непосредственно последовательным, проверяя, равняется ли period_end
в предыдущей строке значение period_start
текущей строки (это верно для всего набора данных, чтобы идентифицировать непосредственно последовательные периоды).
I думаю, здесь есть решение, включающее GROUP BY
, но я его не вижу. Любая помощь будет отличной. Спасибо!