Средний интервал между комментариями можно получить, взяв общий промежуток и разделив его на единицу меньше количества комментариев:
select department,
( ( to_seconds(max(comment_time)) - to_seconds(min(comment_time))
) / nullif(count(*) - 1, 0)
) / 60 as avg_comment_in_minutes
from t
group by department;
Если вы знаете, что комментарии являются актуальными, и вы хотите обработать интервал с момента последнего комментария, то вы можете сделать:
select department,
( ( to_seconds(now()) - to_seconds(min(comment_time))
) / count(*)
) / 60 as avg_comment_in_minutes
from t
group by department;