来自 SQL 结果的最大和最小 PHP 函数


Max and min PHP function from SQL result

我在PHP开发中很新手,我找不到解决问题的方法。
我必须清理Mysql数据库中的一些数据。我的数据库中有一个date列,里面装满了时间段,例如

-520;-510;0;-500;-530;-599;-499;-510;-490;-500;0;-450 

我想从中提取最小值和最大值,这样我就只剩下 2 个时间段了。

我试过这个:

$sql = "SELECT date FROM records WHERE serial = 1";
$requete = mysql_query($sql,$cnx) or die(".mysql_error().");
while($result = mysql_fetch_array($requete))
{
    $res = $result[date];
    $min = min($res);
    $max = max($res);
}

我知道它不起作用,因为 min 和 max 函数仅适用于数组,但我不知道如何在新数组中转换我的$result[date]

在SQL中执行此操作,这样的事情应该可以工作:

$sql = "SELECT MAX( date) as maximum, MIN( date) as minimum
            FROM records 
        WHERE serial = 1
        GROUP BY serial";

然后要检索结果,您需要一行:

$requete = mysql_query($sql,$cnx) or die( mysql_error());
$row = mysql_fetch_array($requete);
echo $row['maximum'] . ' ' . $row['minimum'];

假设数据库"date"字段包含一串由 ; 就像你描述的那样,你可以使用 explode() 函数将该字符串转换为数组,然后在该数组上使用 max() 和 min()

$arr = explode(";",$string);
$max = max($arr);
$min = min($arr);

如果它是每行一个数字,那么使用 SQL 进行操作,如另一个答案中所述