繁体   English   中英

select 如何从数据库中列在 sql 的表中具有最高值

[英]how select from the database where the colum has the highest value in a table in sql

我有一张包含一些数据的表,但我想获取特定列votecount具有最高值的行:

ID 计票
1个 0
2个 1个
3个 1个
4个 13

我试过这个 sql 声明:

$selectr = "SELECT *, MAX(`votecount`) from `audio`"; 
$stmt = $conn->prepare($selectr);
$stmt->execute([]);
while($row = $stmt->fetch())
{
    $userid = $row["id"];
    $votecount = $row["votecount"];
    echo $userid;
    echo $votecount;
}

但是它回显了 10 这意味着它得到了表中的第一项并且值为 0,这是错误的,它没有得到最高的列

那么我该如何解决这个问题

尝试这个:

$selectr = "SELECT * from `audio` where `votecount` = ( SELECT MAX(`votecount`) from `audio`)"; 
$stmt = $conn->prepare($selectr);
$stmt->execute([]);
while($row = $stmt->fetch())
{
    $userid = $row["id"];
    $votecount = $row["votecount"];
    echo $userid;
    echo $votecount;
}

尝试正确: $userid = $row[" userId "]; $userid = $row[" id "];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM