检查上次更新时间是否大于10分钟

时间:2015-04-19 12:57:15

标签: mysql sql database time operators

我有以下查询:

SELECT * FROM event_incidents order by last_update desc limit 1;

我想要的是获取第一行并检查该行的last_update时间是否大于当前时间的10分钟。

2 个答案:

答案 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;