0

我需要从 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 />';
}

有任何想法吗?

4

2 回答 2

3

你需要这样做:

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

$qr_changelog->get('something');
于 2013-08-17T15:21:23.467 回答
1

如果 You Sant 最大值,您可以订购 SQL 并限制值。像这样的东西:SELECT log_datetime FROM ca_change_log order by log_datetime dec limite (1)

于 2013-08-17T15:26:27.860 回答