- 12, May 2024
- #1
Моя база данных содержит таблицу, в которой хранятся метеорные события, представленные разными участниками.
каждое событие имеет уникальный идентификатор, а также сохраняются дата, время и идентификатор участника.
В одну и ту же дату и время может быть много событий, отправленных разными участниками.
Я хочу написать запрос, который бы возвращал все записи, совпадающие по дате и времени.
однако, поскольку записывающее оборудование может быть неточно синхронизировано по времени, я хотел иметь возможность иметь отклонение плюс-минус 30 секунд.
ВЫБЕРИТЕ a.event_id, a.user_ID, a.
ИЗ Quadrantids_date КАК a
ПРИСОЕДИНЯЙТЕСЬ к Quadrantids_date AS b
ГДЕ a.event_id != b.event_id
И a.
И time_to_sec(a.
Пример данных показывает следующее (идентификатор события, участник, дата, время)
37776 2 2017-01-01 01:08:45
47827 3 2017-01-01 01:09:07
33501 1 2017-01-01 01:14:59
47828 3 2017-01-01 01:15:00
37779 2 2017-01-01 01:19:29
37780 2 2017-01-01 01:19:36
33503 1 2017-01-01 01:24:48
33503 1 2017-01-01 01:24:48
события 37779 и 37780 находятся в пределах правила 30 секунд, но они принадлежат одному и тому же участнику, т. е. участнику номер 2. Их необходимо каким-то образом удалить.
также событие 33503 по какой-то причине дублируется - в основной таблице события уникальны, поэтому есть только 33505 - действительно не понимаю, почему это здесь
Указатели очень ценятся
Джон Б.
В одну и ту же дату и время может быть много событий, отправленных разными участниками.
Я хочу написать запрос, который бы возвращал все записи, совпадающие по дате и времени.
однако, поскольку записывающее оборудование может быть неточно синхронизировано по времени, я хотел иметь возможность иметь отклонение плюс-минус 30 секунд.
ВЫБЕРИТЕ a.event_id, a.user_ID, a.
date
, a. Time
ИЗ Quadrantids_date КАК a
ПРИСОЕДИНЯЙТЕСЬ к Quadrantids_date AS b
ГДЕ a.event_id != b.event_id
И a.
date
= b. date
И time_to_sec(a.
Time
) - time_to_sec(b. Time
) МЕЖДУ -30 И 30;Пример данных показывает следующее (идентификатор события, участник, дата, время)
37776 2 2017-01-01 01:08:45
47827 3 2017-01-01 01:09:07
33501 1 2017-01-01 01:14:59
47828 3 2017-01-01 01:15:00
37779 2 2017-01-01 01:19:29
37780 2 2017-01-01 01:19:36
33503 1 2017-01-01 01:24:48
33503 1 2017-01-01 01:24:48
события 37779 и 37780 находятся в пределах правила 30 секунд, но они принадлежат одному и тому же участнику, т. е. участнику номер 2. Их необходимо каким-то образом удалить.
также событие 33503 по какой-то причине дублируется - в основной таблице события уникальны, поэтому есть только 33505 - действительно не понимаю, почему это здесь
Указатели очень ценятся
Джон Б.