Получение новейшей записи из базы данных. Несколько запросов. - PullRequest
1 голос
/ 17 сентября 2011

У меня есть база данных mysql с записями транспортных средств.Мне нужен быстрый запрос, который вернет самые новые записи тех записей, которые были обновлены в течение последних 4 минут.Например, транспортное средство «А» может обновляться несколько раз в минуту, поэтому оно будет появляться много раз в течение последних 4 минут.То же самое с транспортным средством BC и т. Д. Мне нужны только самые последние записи для каждого транспортного средства в течение 4 минут.Я пробовал вот так

SELECT *
FROM yourtable AS a
WHERE a.ts = 
    (SELECT MAX(ts)
     FROM yourtable AS b
     WHERE b.ts > NOW() - INTERVAL 5 MINUTE
       AND b.name = a.name)

, но для получения результатов> 10 секунд требуется слишком много времени.

1 Ответ

0 голосов
/ 14 октября 2011

Это работает?

select distinct a.id from yourtable AS a
where a.ts > NOW() - INTERVAL 5 MINUTE;

Выдает все автомобили, которые были обновлены за последние 4/5 минут.

Спасибо, Ракеш

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...