Я пытаюсь это сделать какое-то время, возможно, проблема связана с правильным поисковым запросом. Я не уверен.Выбор первого значения каждой минуты в таблице
В любом случае проблема заключается в том, что у меня есть таблица данных, каждая из которых добавляет новую строку (представьте структуру {id, timestamp (datetime), value}). Я хотел бы сделать один запрос для MySQL, чтобы пройти через таблицу и вывести только первое значение каждой минуты.
Я думал об этом с несколькими запросами с LIMIT и datetime> = (начало минуты), но с объемом данных, которые я собираю, это много запросов, поэтому было бы лучше производить данные в один запрос.
Образец данных:
id datetime value
1 2015-01-01 00:00:00 128
2 2015-01-01 00:00:01 127
3 2015-01-01 00:00:04 129
4 2015-01-01 00:00:05 127
...
67 2015-01-01 00:00:59 112
68 2015-01-01 00:01:12 108
69 2015-01-01 00:01:13 109
Где я хочу результат, чтобы выбрать строки:
1 2015-01-01 00:00:00 128
68 2015-01-01 00:01:12 108
Любые идеи?
Спасибо!
EDIT: Забыл добавить, данные, в то время как каждый второй, не может быть надежно на первую секунду каждой минуты - это может быть: 30 или: 01, а не: 00 секунд мимо минуты
EDIT 2 : Хороший (обязательно не требуется для ответа) запрос будет гибким, чтобы также принимать произвольное количество минут (а не одну строку каждую минуту)
Добавьте свои репрезентативные данные образца и ожидаемый результат. Также опубликуйте свой лучший снимок при решении проблемы. –
Вы говорите, что у вас может быть менее 60 строк за заданную минуту. Если какая-то минута вообще не имеет каких-либо значений, что бы вы хотели увидеть в результирующем наборе на эту минуту? –