WBS
Новичок
Есть таблица с событиями (events) с полями:
id_event, time_start, time_end
Допустим, она содержит такие данные:
1, 12:00:00, 17:00:00
2, 13:00:00, 14:00:00
3, 16:30:00, 17:30:00
4, 19:00:00, 20:30:00
Требуется получить:
1.
Общую продолжительность времени, когда происходили какие-то события.
В примере это время с 12:00 до 17:30 (5.5 часов) + время с 19:00 до 20:30 (1.5 часа) = 7 часов.
2.
Сумма времени с группировкой по часам дня.
В примере:
13-й час (с 12:00 до 13:00) - 1 час
14-й час - 2 часа
15-й час - 1 час
16-й час - 1 час
17-й час - 1.5 часа
18-й час - 0.5 часа
19-й час - 0 часов
20-й час - 1 час
21-й час - 0.5 часа
Подскажите, можно ли каждую из двух задач решить одним запросом к БД и как это сделать?
Интересует общий принцип составления таких запросов. Использовать планирую в MySQL и PostgreSQL.
id_event, time_start, time_end
Допустим, она содержит такие данные:
1, 12:00:00, 17:00:00
2, 13:00:00, 14:00:00
3, 16:30:00, 17:30:00
4, 19:00:00, 20:30:00
Требуется получить:
1.
Общую продолжительность времени, когда происходили какие-то события.
В примере это время с 12:00 до 17:30 (5.5 часов) + время с 19:00 до 20:30 (1.5 часа) = 7 часов.
2.
Сумма времени с группировкой по часам дня.
В примере:
13-й час (с 12:00 до 13:00) - 1 час
14-й час - 2 часа
15-й час - 1 час
16-й час - 1 час
17-й час - 1.5 часа
18-й час - 0.5 часа
19-й час - 0 часов
20-й час - 1 час
21-й час - 0.5 часа
Подскажите, можно ли каждую из двух задач решить одним запросом к БД и как это сделать?
Интересует общий принцип составления таких запросов. Использовать планирую в MySQL и PostgreSQL.