如何在MySQL中选择列的最大值


How to select the maximum value of a column in MySQL

我想选择表中一列的最大值。我使用的是PHP和MySQL。这就是我目前所拥有的:

$max = "SELECT MAX(Id) FROM trialtabel2"; 
$max1 =  mysqli_query($dblink, $max); 
echo= $max1;

我的调试器只是说它是一个返回0 boolean value (false)的查询。我在网上找不到具体的答案。

您需要fetch使用mysqli_query执行查询时返回给您的mysqli_result对象中的数据。

    $max = "SELECT MAX(Id) as id FROM trialtabel2"; 
    $max1 =  mysqli_query($dblink, $max); 
    $row = mysqli_fetch_assoc($max1);    // this was missing
    $id=$row['id'];
    echo $id;

注意:我删除了循环,因为使用没有任何分组的MAX查询,您将只返回1行。如果结果集中有多行,则需要循环遍历所有行。

两种方式首先,正如人们所描述的

$max = "SELECT MAX(Id) as max_id FROM trialtabel2";     
$max1 =  mysqli_query($dblink, $max);   
$row = mysqli_fetch_assoc($max1); 
$max_id=$row['max_id'];      
echo $max_id;  

其次是订购和限制

$max_id = 0;
$max = "SELECT id  FROM trialtabel2 order by id desc limit 0,1";    
$max1 =  mysqli_query($dblink, $max);     
while($row = mysqli_fetch_assoc($max1)){    
   $max_id=$row['id'];    
}    
echo $max_id;  

在您的代码中,您缺少fetch语句。您需要从结果集中获取。看看上面你错过了什么。

尝试使用这个。。,

$max = "SELECT MAX(Id) as maxId FROM trialtabel2"; 
$max1 =  mysqli_query($dblink, $max); 
$row = mysqli_fetch_assoc($max1);
echo $row['maxId'];

希望这能有所帮助。。

$max = "SELECT Id FROM trialtabel2 order by id desc limit 1"; 
$max1 =  mysqli_query($dblink, $max); 
$result = mysqli_fetch_assoc($max1);
pre($result);