SQL结果中的Max和min PHP函数

时间:2012-07-02 16:19:32

标签: php sql arrays max min

我在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]

2 个答案:

答案 0 :(得分:5)

在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'];

答案 1 :(得分:0)

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

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

如果它是每行一个数字,那么就像使用其他答案中描述的SQL那样做