我有一个带车辆记录的mysql数据库。我需要一个快速查询,它将返回最近4分钟内更新的那些记录的最新记录。例如,车辆“A”可以每分钟更新几次,因此它将在最后4分钟内出现多次。与车辆B C等相同。我只需要在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秒。
答案 0 :(得分:0)
这有用吗?
select distinct a.id from yourtable AS a
where a.ts > NOW() - INTERVAL 5 MINUTE;
它为所有在过去4/5分钟内更新的车辆提供。
谢谢, 勒凯什