查询MAX功能不起作用

时间:2013-08-17 15:18:20

标签: php mysql max

我需要从mysql db列中获取最高值。这是一个时间戳。使用mysql MAX函数它不起作用,下面你可以看到代码:

//Create new db object
$db = new Db();

//Query
$qr_changelog = $db->query("
    SELECT MAX(log_datetime) FROM ca_change_log
");

//Fetch result
$last_change = $qr_changelog->get('log_datetime');

//Print result
echo "Last Change:" . $last_change;

如果我在没有MAX功能的情况下运行查询,它可以工作(但很明显会返回所有值)。如果我从mysql服务器控制台运行查询,它的工作原理。 Apache日志显示没有错误。

我也试过mysqli:

$db1 = new mysqli('localhost', 'user', 'passwd', 'db');

if($db1->connect_errno > 0){
    die('Unable to connect to database [' . $db1->connect_error . ']');
}

$qr_changelog = $db1->query("
    SELECT MAX(log_datetime) FROM ca_change_log");

while($row = $qr_changelog->fetch_assoc()){
    echo $row['log_datetime'] . '<br />';
}

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

你需要这样做:

SELECT MAX(log_datetime) AS something FROM ca_change_log  GROUP BY log_datetime

$qr_changelog->get('something');

答案 1 :(得分:1)

如果您想要最大值,可以订购SQL并限制值。这样的事情:SELECT log_datetime FROM ca_change_log order by log_datetime dec limite (1)