MySQL,在过去几小时内返回X内的所有结果

时间:2013-02-10 14:11:07

标签: mysql sql

我的表由多列组成,包括unixtimestamp:

CREATE MyTable(
   id INT NOT NULL AUTO_INCREMENT,
   ...
   timeStart INT(11)
)ENGINE=MyISAM;

新项目会不断插入此表格。

我需要使用时间戳>返回所有项目(MAX(开始时间)-X_duration)

我有兴趣编写一个单一的最佳查询来实现它。

  1. 一种简单的方法是编写嵌套选择,其中内部选择返回MAX(timeStart) as maxTime,而不是选择大于where子句的所有记录。
  2. 如果有更好更有效的解决方案,我感兴趣吗?

1 个答案:

答案 0 :(得分:2)

SELECT  *
FROM    tableName
WHERE   timeStart > (SELECT MAX(timeStart) + INTERVAL -1 SECOND FROM tableName)