Может ли кто-нибудь помочь мне с заданием ниже MySQL, пожалуйста?MysQL - Совокупное разделение строк по дате времени
Указанные данные разбиты по часам в течение выбранной даты. Если device_table указывает, что устройство недоступно в течение нескольких часов, оно будет сообщаться в течение каждого из этих часов, например. если устройство записи проводятся для устройства следующим образом,
select * from device_table
+----+---------------------+---------------------+--------+
| id | Start_timestamp | End_timestamp | STATUS |
+----+---------------------+---------------------+--------+
| 1 | 28/11/2014 13:26:25 | 28/11/2014 13:36:22 | UP |
| 2 | 28/11/2014 13:36:23 | 28/11/2014 14:06:27 | DN |
| 3 | 28/11/2014 14:06:28 | 28/11/2014 14:06:28 | UP |
| 4 | 28/11/2014 14:06:29 | 28/11/2014 14:11:26 | DN |
+----+---------------------+---------------------+--------+
Затем устройство будет сообщено как недоступные, как в часах 13:00 14:00 & как вторая запись падает в обоих этих часов, и последняя запись также падает в час 14:00.
как разбить записи и сформировать запрос для достижения вышеуказанного и подсчитать устройство вверх и вниз на основе их часов?
Я хочу что-то вроде этого, если устройство выключено с 28/11/2014 13:36:23 по 28/11/2014 14:06:27, тогда мой запрос должен считать устройство выключено в 2 часа т.е. 13:36:23 & 14:06:27 а также, если мое устройство отключено на 28/11/2014 13:36:23 t0 28/11/2014 13:46:27, тогда мое устройство должно быть указано как один час только то 13,00 часов
выходной сигнал запроса должен быть как ниже
+-------+----+-------+-----------------+
| Hours | up | down | total(UP+DOWN) |
+-------+----+-------+-----------------+
| 00.00 | 1 | 0 | 1 |
| 01.00 | 1 | 1 | 2 |
| 02.00 | 0 | 0 | 0 |
| : : | | | |
| : : | | | |
| 23:00 | 0 | 1 | 1 |
+-------+----+-------+-----------------+
как насчет использования concat ?? –
concat, на котором Авинаш? –