0

我有一个脚本,它同时在 MySQL 表中插入许多条目。这意味着我有 >100 个具有相同时间戳的条目,另一个 >100 个具有该时间戳加上 1 秒的条目......

该脚本不时启动,因此每次启动该脚本时,我都会在几分钟内丢失条目。我想检索某个字段 MYFIELD 的最大值和最小值,看看时间戳的最后 5 分钟,这样我就可以从上次脚本执行中获取最小值和最大值。

这可能吗?如何?

4

2 回答 2

1

首先找到最后一个时间戳:

SELECT MAX(timestamp)
FROM your_table;

并用它来获得 MIN 和 MAX:

SELECT MIN(myfield), MAX(myfield)
FROM your_table
INNER JOIN (SELECT MAX(timestamp) as max FROM your_table) t ON TRUE
WHERE timestamp >= (max - interval 5 MINUTE);
于 2013-06-03T12:16:13.727 回答
0

一种方法是添加一列(比如 insert_timestamp)来跟踪行插入的时间戳。所以查询将很简单

select min(myfield), max(myfield) 
from mytable
where insert_timestamp between now() and (now() - interval 5 MINUTE)
于 2013-06-03T10:55:56.267 回答