我有以下查询:
SELECT * FROM event_incidents order by last_update desc limit 1;
我想要的是获取第一行并检查该行的last_update时间是否大于当前时间的10分钟。
答案 0 :(得分:3)
您可以尝试这样:
select * from event_incidents
where last_update >= (NOW() - INTERVAL 10 MINUTE)
ORDER BY last_update desc
LIMIT 1;
答案 1 :(得分:1)
您可以使用where
中的聚合和比较来执行此操作。如果您有last_update
的索引,那么:
SELECT (case when MAX(last_update) >= date_sub(now(), interval 10 minute)
then 'recent'
else 'ancient'
end)
FROM event_incidents ;
我不确定你想要归还什么,所以我编造了#34;最近"和#34;古代"。
注意:
如果您只想要返回单行上的标记:
SELECT ei.*,
(last_update > date_sub(now(), interval 10 minute)) as RecencyFlag
FROM event_incidents
ORDER BY last_update desc
LIMIT 1;