powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите написать запрос, люди добрые
5 сообщений из 5, страница 1 из 1
Помогите написать запрос, люди добрые
    #39169139
Russsya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день великие умы, за 5 лет работы впервые решил написать на форуме вопрос, надеюсь на вашу помощь

Есть таблица
ID | Date | ShowID

1 | 2016-03-02 14:30:00 | 10
2 | 2016-03-02 19:00:00 | 10
2 | 2016-03-03 19:30:00 | 10

3 | 2016-03-02 19:30:00 | 21
4 | 2016-03-02 19:00:00 | 21

Вот здесь у 10 ShowID все верно, событие происходит в разное время, т к средняя продолжительность около 2 часов
А вот у 21 ShowID не верно, т к разница во времени 30 минут

Мне вот необходимо написать запрос, который выявил бы подобные строки, есть конечно вариант написать в связке с php, но интересует вариант с MySQL

Заранее спасибо, надеюсь на вашу доброту и отзывчивчивость
...
Рейтинг: 0 / 0
Помогите написать запрос, люди добрые
    #39169152
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Russsya,

т.е. вам надо для каждого showid найти все пары записей, отстоящие друг от друга не более чем на N минут?
Код: sql
1.
2.
3.
from table t1
join table t2 on t1.showid=t2.showid and t1.date>t2.date
where timediff(t1.date,t2.date)>cast('0:30:00' as time)
...
Рейтинг: 0 / 0
Помогите написать запрос, люди добрые
    #39169167
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
from table t1
join table t2 on t1.showid=t2.showid and t1.date>[color=red]=[/color]t2.date
where timediff(t1.date,t2.date)[color=red]<[/color]cast('0:30:00' as time)
...
Рейтинг: 0 / 0
Помогите написать запрос, люди добрые
    #39169168
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
плин, внутри SRC тага раскраски не работают,
короче:

t1.date>t2.date >>> t1.date>=t2.date

>cast('0:30:00' as time) >>> <cast('0:30:00' as time)
...
Рейтинг: 0 / 0
Помогите написать запрос, люди добрые
    #39169238
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
timediff(t1.date,t2.date) <= cast('0:30:00' as time)

сносит все индексы. Тогда как
Код: sql
1.
t1.date + INTERVAL 30 MINUTE <= t2.date

даст возможность задействовать индекс на хотя бы одной из двух копий.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите написать запрос, люди добрые
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]