【问题标题】:MySQL limit a time range by a interval of 10MySQL 以 10 的间隔限制时间范围
【发布时间】:2017-08-12 20:30:04
【问题描述】:

我正在尝试在一个时间范围内创建一组温度读数,但将其限制为每 10 个读数只有 1 个读数。有人可以帮我将此功能添加到下面的代码中吗? :)

$dataArray=array();

$sql="SELECT * FROM $sensorID WHERE Time > DATE_SUB(NOW(), INTERVAL $timeDuration HOUR) AND Time <= NOW()";

$result = mysql_query($sql) or die('Query failed: ' . mysql_error());

if ($result) {
    while (
    $row = mysql_fetch_array($result)) {
    $time=$row["Time"];
    $temperature=$row["Temp"];
    $dataArray[$time]=$temperature;
  }}

干杯

【问题讨论】:

  • 编辑您的问题并提供示例数据和所需结果。
  • 请停止使用 PHP 已弃用的 mysql API

标签: php mysql raspberry-pi intervals


【解决方案1】:

如果我理解正确,您想每 10 行显示一次吗?

$i=0;
if ($result) {
    while (
    $row = mysql_fetch_array($result)) {
    if($i % 10 == 0)
    {
        $time=$row["Time"];
        $temperature=$row["Temp"];
        $dataArray[$time]=$temperature;
    }
    $i++;
  }}

【讨论】:

  • 是的,我需要每 10 行获取一次,我已经尝试过您的代码,但它对我不起作用:-/
【解决方案2】:

感谢迈克尔·O。

它现在对我有用:D

$i=0;
if ($result) {
while (
$row = mysql_fetch_array($result)) {
if($i % 10 == 0)
{
$time=$row["Time"];
$temperature=$row["Temp"];
$dataArray[$time]=$temperature;
}
$i++;
}}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多