Я ищу способ получить общее время между двумя чередующимися событиями в MYSQL.
Я использую базу данных MYSQL для хранения событий, когда дверь открывается / закрывается.Я ищу способ визуализировать общее время, когда дверь была открыта каждый час.
Я использую datareportive для визуализации своих данных, в настоящее время я могу показать, сколько раз дверь открывалась каждый час по следующему запросу:
SELECT DATE_FORMAT(DATE_ADD(date, INTERVAL 30 MINUTE),'%Y-%m-%d %H:00:00') as hour,
COUNT(*) as num_rows
FROM events
GROUP BY hour;
База данных выглядит следующим образом:
ID door Action date
13 my unique door name! Open 2019-09-09T09:01:12
14 my unique door name! Close 2019-09-09T09:01:23
15 my unique door name! Open 2019-09-09T09:01:30
16 my unique door name! Close 2019-09-09T09:01:35
17 my unique door name! Open 2019-09-09T09:01:37
18 my unique door name! Close 2019-09-09T09:01:40
19 my unique door name! Open 2019-09-09T09:01:50
Я ищу способ, которым запрос возвращает общее время открытия двери каждый час.
Есть одна большая загвоздка: иногда события Open / Close не чередуются правильно, например, отключение питания на датчике двери может привести к тому, что событие, указанное в базе данных, будет в два раза больше
SQLfiddle