PHP 和 MySQL : How to select rows in 10 minute increments

标签 php mysql

我正在尝试构建一个 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/

相关文章:

php - 如何使用 mysql 和 php 计算每个状态的条目总数

mysql - 如果 t1.uniqueNumber != t2.uniqueNumber,则从 t1 中选择全部

php - WEB SOCKET PHP 概念

php - laravel 5.2 将登录 session 数据插入自定义身份验证的数据库

PHP & MYSQL - ORDER BY id 有时不返回任何内容

php - 如何在不超时的情况下解析大型 CSV 文件?

php - 在 Kohana 加载和调用外部库

mysql - 在不加入mysql的情况下使用所有运算符选择子查询

php - 将查询转换为 PHP 中的 if 语句

php - 从 MySQL 按 IP 行获取所有用户名