Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите с запросом - TIMEDIFF / 10 сообщений из 10, страница 1 из 1
26.08.2013, 23:37:11
    #38377973
wewillsee
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом - TIMEDIFF
Есть таблица типа:

DateTime | Value | Some_ID

Нужно выбрать записи/случаи, когда следующя(по времени) запись с таким же Some_ID имеет время на Х минут больше.

Т.е., в теории записи с каждым Some_ID у нас должны поступать каждые 5мин. Нужно найти случаи когда это не так.

Желательно в формате:

DateTime | Some_ID | TimeDiff (время до следующей записи с таким Some_ID)

Никакой Гугл моим познаниям в SQL здесь не поможет... Помогите?
...
Рейтинг: 0 / 0
26.08.2013, 23:46:03
    #38377978
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом - TIMEDIFF
Берёшь две копии таблицы. Связываешь по равенству ID и неравенству (скажем, больше) времени. Группируешь по времени копии, где время меньше, и берёшь минимум по другой копии. Считаешь разность времён. Фильтруешь по ней. Всё.
...
Рейтинг: 0 / 0
26.08.2013, 23:51:32
    #38377983
wewillsee
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом - TIMEDIFF
Akina,

Очень надеюсь, что Вы ответили в правильную ветку, потому что я начинаю это переводить... :)

Алтернативные предложения по прежнему с радостью принимаются.
...
Рейтинг: 0 / 0
27.08.2013, 10:29:56
    #38378213
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом - TIMEDIFF
AkinaВсё.Почти всё. После этого ещё надо проверить, что это разность времён двух соседних записей (т.е. что между ними ещё 1-2-несколько не затесались).
wewillseeАлтернативные предложения по прежнему с радостью принимаются.В мускле нет оконных функций, так что на "альтернативные предложения" можете не надеяться.
...
Рейтинг: 0 / 0
27.08.2013, 11:07:46
    #38378291
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом - TIMEDIFF
tanglirПосле этого ещё надо проверить, что это разность времён двух соседних записей (т.е. что между ними ещё 1-2-несколько не затесались).
Эмм...
AkinaГруппируешь по времени копии, где время меньше, и берёшь минимум по другой копии.
...
Рейтинг: 0 / 0
27.08.2013, 11:19:10
    #38378318
wewillsee
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом - TIMEDIFF
Нда... Я честно пытался разобраться.

Вместо того чтобы пиксялями меряться лучше бы написали несколько строк кода и посмотрели бы работет или нет, затесалось там чего или нет.
...
Рейтинг: 0 / 0
27.08.2013, 11:23:43
    #38378323
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом - TIMEDIFF
AkinaБерёшь две копии таблицы.
FROM table t1, table t2
AkinaСвязываешь по равенству ID и неравенству (скажем, больше) времени.
WHERE t1.id=t2.id and t1.time>t2.time
AkinaГруппируешь по времени копии, где время меньше
GROUP BY t2.time
Akinaберёшь минимум по другой копии. Считаешь разность времён.
SELECT MIN(t1.time)

... детский сад ...
...
Рейтинг: 0 / 0
27.08.2013, 13:49:32
    #38378601
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом - TIMEDIFF
AkinatanglirПосле этого ещё надо проверить, что это разность времён двух соседних записей (т.е. что между ними ещё 1-2-несколько не затесались).
Эмм...
AkinaГруппируешь по времени копии, где время меньше, и берёшь минимум по другой копии.Эмм... проглядел :)
...
Рейтинг: 0 / 0
27.08.2013, 16:36:29
    #38378926
wewillsee
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом - TIMEDIFF
Akina,

Спасибо. Почти понял. Поясните, пожалуйста, последний шаг...
...
Рейтинг: 0 / 0
27.08.2013, 18:39:58
    #38379156
wewillsee
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом - TIMEDIFF
Akina,

Первая часть не выполняется:
SELECT * FROM table t1, table t2 WHERE t1.field_id=t2.field_id and t1.date>t2.date GROUP BY t2.date

Точнее выполняется бесконечно.

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


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