Мне недавно было поручено завершить работу над веб-приложением PHP / MySQL, когда разработчик ушел на прошлой неделе.Я не эксперт по MySQL, поэтому прошу прощения, если это очень простой вопрос.Я искал SO большую часть двух дней, пытаясь найти относительно простое решение моей проблемы, которое заключается в следующем.
Проблема в двух словах:
У меня есть таблица MySQL, полная начальной и конечной даты-времени (GMT -5) и значений меток времени UNIX, охватывающих длительности нерегулярной длины, и необходимо разбить / разделить / разделить их на болееРегулярное время кусков (5 минут).Я не собираюсь подсчитывать количество записей в строках за период времени / блок / период, если это имеет смысл.
Пример данных:
started, ended, started_UNIX, ended_UNIX
2010-10-25 15:12:33, 2010-10-25 15:47:09, 1288033953, 1288036029
Что я надеюсь получить:
2010-10-25 15:12:33, 2010-10-25 15:15:00, 1288033953, 1288037700
2010-10-25 15:15:00, 2010-10-25 15:20:00, 1288037700, 1288038000
2010-10-25 15:20:00, 2010-10-25 15:25:00, 1288038000, 1288038300
2010-10-25 15:25:00, 2010-10-25 15:30:00, 1288038300, 1288038600
2010-10-25 15:30:00, 2010-10-25 15:35:00, 1288038600, 1288038900
2010-10-25 15:35:00, 2010-10-25 15:40:00, 1288038900, 1288039200
2010-10-25 15:40:00, 2010-10-25 15:45:00, 1288039200, 1288039500
2010-10-25 15:45:00, 2010-10-25 15:47:09, 1288039500, 1288039629
Если вам интересно, вот краткое и грязное приложение и зачем мне нужны данные:
Обзор приложения: приложение получает очень простые POST-запросы, генерируемые базовым сенсорным устройством, когдаего входные контакты поступают на землю, что отправляет запрос INSERT в базу данных, где MySQL записывает метку времени (как запущено).Когда входные контакты возвращаются из заземленного состояния, устройство отправляет другой запрос POST, в результате чего приложение PHP отправляет запрос UPDATE, в который вставляется временная метка времени модификации (как завершенная).
Мой работодатель недавно изменил единицу измерения периодической отчетности с Секунды "Вкл." В день на Секунды "Вкл." На 5-минутный интервал .Я сформулировал то, что, по моему мнению, было бы работоспособным решением, но когда я посмотрел на него на бумаге, это выглядело как кошмар Рубе Голдберга, построенный в MySQL, так что ничего не вышло.
Есть предложения, как разбить эти промежутки на 5-минутные блоки?Хранение всего этого в MySQL было бы моим предпочтением, хотя я приму любые предложения.Спасибо за любые ваши предложения.
Опять же, я прошу прощения, если это не сложно.
Если я задам какие-либо дополнительные вопросы коллективного сознания SO в будущем, я постараюсьСкажите им немного лучше.Любая помощь будет с радостью принята.
Спасибо,
Нерен