Как посчитать максимальный период пользования на Oracle SQL?

Всем привет! Возникла трудность в решение задачи на SQL Oracle. Допустим, есть пользователи, которые пользовались одним и тем же устройством, они помечены как id_user. В столбцах с датой указаны периоды, когда начали пользоваться устройством и когда закончили. Также есть столбец, где указано сколько дней каждый пользователь пользовался. Необходимо выбрать самый длинный период пользования устройством независимо от пользователя. Т.е. когда даты пользования для пользователей идентичны, то просто отбирается самый длинный период в столбце period. Это характерно для строк 1,2,4,5, но если даты пересекаются как указано в строке 3 и 6, то взять общий период пользования, в данном случае start_date = 4.01.2020 и end_date = 11.01.2020, и получить период пользования в 7 дней. Он же и будет самым максимальным для данного устройства.

n id_device id_user start_date end_date period
1 1 1 12-03-2020 13-03-2020 1
2 1 1 9-02-2020 11-02-2020 2
3 1 1 8-01-2020 11-01-2020 3
4 1 2 12-03-2020 13-03-2020 1
5 1 2 9-02-2020 11-02-2020 2
6 1 2 4-01-2020 9-01-2020 5

Результат:

id_device max_days
1 7

Ответы (0 шт):