Расширение существующего запроса

  • Автор темы Cashtraffic1
  • Обновлено
  • 13, May 2024
  • #1
Так мне уже помогали с этим У меня есть таблица событий (на самом деле это радиометеорные события) В этой таблице, помимо прочего, есть

event_id, который является уникальным

Дата

время: время события указано в поле времени ЧЧ:ММ:СС.

участник

на практике событие может повторяться несколько раз для любого данного события, поскольку разные участники могут иметь записи одного и того же события.

Итак, я ищу запрос, который вернет все записи, совпадающие по дате и времени.

и ответ был

выберите event_id, eventdate, eventtime, contributor_id

, (выберите счетчик (event_id)

от rme как r2

где rme.eventdate = r2.eventdate

и rme.eventtime = r2.eventtime

группировать по rme.eventdate, rme.eventtime) в качестве счетчика

из меня

имея счетчик > 1

Мне нужен запрос, который вернет совпадение даты, но время может составлять плюс или минус 30 секунд для совпадения.

Итак, представьте себе, что следующие события были зафиксированы 27 января 2017 года.

02:35:00

02:35:15

02:36:00

02:38:00

02:39:15

Я бы хотел, чтобы оно вернулось

02:35:00

02:35:15

Надеюсь, это имеет смысл

Джон Б.

Cashtraffic1


Рег
24 Apr, 2012

Тем
76

Постов
204

Баллов
584
  • 01, Jun 2024
  • #2
Извините за задержку, я попробовал это, но не получилось, однако я хочу настроить еще больше, если это возможно?

Теперь это работает нормально

ВЫБИРАТЬ

метеор_евенты.event_id КАК event_id,

метеор_евентс.дата дата КАК,

метеор_евентс.Время КАК время,

(выберите count(
 r2
.
 event_id
) AS
 count(event_id)


из
 meteor_events
 r2
где ((
 meteor_events
.
 date
=
 r2
.
 date
) и

(
 meteor_events
.
 Time
=
 r2
.
 Time
)) группировка по
 meteor_events
.
 date
,
 meteor_events
.
 Time
) AS счетчик

из
 meteor_events


имея (
 счетчик
> 1)

порядок по
 meteor_events
.
 Time


Я хочу обновить его, чтобы сделать 2 вещи

1 – возвращать только события с определенным диапазоном дат.

2 — время различалось на 30 секунд согласно исходному вопросу.

С уважением

Джон Б.
 

Fhostee


Рег
24 Oct, 2013

Тем
50

Постов
202

Баллов
452
  • 05, Jun 2024
  • #3
Вам действительно не нужен счет. На твоем месте я бы сделал так: выберите время события от меня Р где существует (выберите 1 от RME R2 где R.eventdate = r2.eventdate и R.eventtime между DATE_ADD(r2.eventtime, INTERVAL -30 SECOND) и DATE_ADD(r2.eventtime, ИНТЕРВАЛ +30 СЕКУНД))
 

Gm2


Рег
29 Jul, 2012

Тем
60

Постов
201

Баллов
531
  • 08, Jun 2024
  • #4
Привет, Джон, Вам необходимо добавить предложение WHERE, содержащее критерии фильтра, такие как диапазон дат. После предложения FROM добавьте
 WHERE
meteor_events.date between @date1 and @date2
Код (SQL):
 

Anchous


Рег
19 Aug, 2011

Тем
65

Постов
183

Баллов
558
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно