[英]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.