Трюк дня. Агрегирование записей в PostgreSQL



Таблица projects содержит три столбца: task_id, start_date и end_date.



Разница между датой окончания (end_date) и датой начала (start_date) составляет 1 день для каждой строки таблицы. Если даты окончания задач последовательны, они являются частью одного проекта. Даты проектов не пересекаются.



Напишите запрос, возвращающий даты начала и окончания каждого проекта, а также количество дней, затраченных на его выполнение. Расположите их в порядке возрастания продолжительности проекта, а в случае равенства - по возрастанию даты начала.



Код создания view исходной таблицы projects здесь.



Решение будет вечером.



#tips