我需要从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 />';
}
有什么想法吗?
答案 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)
。