1

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

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

新项目不断插入到该表中。

我需要返回所有带有时间戳 > (MAX(startTime)-X_duration) 的项目

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

  1. 一种简单的方法是编写嵌套选择,其中内部选择返回 , ,然后MAX(timeStart) as maxTime选择所有大于 where 子句的记录。

如果有更好、更有效的解决方案,我很感兴趣?

4

1 回答 1

2
SELECT  *
FROM    tableName
WHERE   timeStart > (SELECT MAX(timeStart) + INTERVAL -1 SECOND FROM tableName)
于 2013-02-10T14:24:37.880 回答