Предположим, что у меня есть таблица с тремя столбцами:
- id (PK, int)
- timestamp (datetime)
- title (текст)
У меня есть следующие записи:
1, 2010-01-01 15:00:00, Some Title
2, 2010-01-01 15:00:02, Some Title
3, 2010-01-02 15:00:00, Some Title
Мне нужно сделать записи GROUP BY, которые находятся в пределах 3 секунд друг от друга. Для этой таблицы строки 1 и 2 будут сгруппированы вместе.
Здесь есть аналогичный вопрос: Группа Mysql DateTime на 15 минут
Я также нашел это: http://www.artfulsoftware.com/infotree/queries.php#106
Я не знаю, как преобразовать эти методы во что-то, что будет работать в течение нескольких секунд. Проблема с методом в вопросе SO заключается в том, что мне кажется, что он будет работать только для записей, попадающих в промежуток времени, который начинается с известной точки. Например, если бы я должен был FLOOR()
работать со секундами, с интервалом в 5 секунд, время 15:00:04 было бы сгруппировано с 15:00:01, но не сгруппировано с 15:00:06.
EDIT:. Для набора чисел {1, 2, 3, 4, 5, 6, 7, 50, 51, 60} кажется, что лучше всего их сгруппировать { 1, 2, 3, 4, 5, 6, 7}, {50, 51}, {60}, так что каждая строка группировки зависит от того, находится ли строка в пределах 3 секунд от предыдущей. Я знаю, что это немного меняет вещи, я сожалею о том, что хочу быть в этом желающим.
Я пытаюсь вести журналы с нечеткой совпадением с разных серверов. Сервер № 1 может регистрировать элемент, "Item # 1", а Server # 2 будет регистрировать тот же элемент "Item # 1" в течение нескольких секунд после сервера # 1. Мне нужно выполнить некоторые общие функции на обеих строках журнала. К сожалению, у меня есть только заголовок, связанный с природой серверного программного обеспечения.