|
MySql: посчитать продолжительность периодов
|
|||
---|---|---|---|
#18+
id объекта start_date end_date 123 13.08.2018 10:44 13.08.2018 17:44 123 13.08.2018 16:24 13.08.2018 17:39 123 13.08.2018 18:39 13.08.2018 21:34 456 13.08.2018 16:14 13.08.2018 20:00 456 13.08.2018 17:29 13.08.2018 19:19 456 13.08.2018 17:59 13.08.2018 20:00 Помогите, пожалуйста, решить задачу: условия: в примере 2 объекта с id 123, 456. по ним записаны продолжительности различных неисправностей. нужно посчитать сколько всего были объекты неисправны в секундах в течение дня. Важно! Если периоды пересекаются, их не требуется суммировать. К примеру: по объекту 123 в строке 1 продолжительность с 10:44 - 17:44 = 7 часов, в строке 2: с 16:24 - 17:39 - этот период входит в первый, его не суммировать, третий период с 18:39 - 21:34 не входит в первый и второй - его прибавляем к 7 часам, в итоге: объект 123 было неисправен 7 часов + 2 часа 55 минут = 9 часов 55 минут. По объекту 456 2 и 3 периоды входят в первый, поэтому продолжительность неисправности = с 16:14-20:00. бд MYSQL ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2019, 23:43 |
|
MySql: посчитать продолжительность периодов
|
|||
---|---|---|---|
#18+
anon123456, Предварительно запросом рбъедините все пересекающиеся интервалы. Далее, задача становится элементарной - вычислить длительность каждого «мега»-инревала, просуммировать полученные длительности. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2019, 06:44 |
|
MySql: посчитать продолжительность периодов
|
|||
---|---|---|---|
#18+
anon123456, Идею запроса на объединение пересекающихся периодов можете посмотреть здесь: https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1218798&msg=19312652 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2019, 06:49 |
|
|
start [/forum/topic.php?fid=47&fpage=39&tid=1829282]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
43ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
others: | 309ms |
total: | 444ms |
0 / 0 |