我正在尝试构建一个 MySQL SELECT,它只会以 10 分钟增量(或足够接近 10 分钟增量)提取行。我的数据每行大约每分钟记录一次,但插入的时间并不总是准确的。每行都有一个日期时间列。
我的第一个想法是拉入一大堆行,然后使用 PHP 函数将它们清除。这种方法很困惑,我宁愿使用更智能的 MySQL 查询来做到这一点。可能吗?
$result = mysqli_query($con,"SELECT * FROM pairs ORDER BY pair_id DESC LIMIT 2000;");
while($row = mysqli_fetch_array($result)) {
echo $row['SomeTimestamp'] . " " . $row['SomeValue'];
echo "<br>";
}
最佳答案
这将获取过去 10 分钟内带有时间戳的所有记录。
SELECT * FROM pairs WHERE SomeTimestamp > DATE_SUB(CURTIME(), INTERVAL 10 MINUTE)
关于PHP 和 MySQL : How to select rows in 10 minute increments,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25335932/