我一直在寻找如何做到这一点,但我没有找到任何有用的!
所以我有下面的表,其中包含以下列:
ID | USER | COMMENTS
---------------------
1 | John | 20
2 | Sara | 32
3 | Peter| 10
我想做的是选择评论最多的用户。我使用:
<?php
$usermaxresult = mysql_query("SELECT MAX(comments) FROM users");
while ($usermaxrow = mysql_fetch_array($usermaxresult)) {
$max = "MAX(comments)";
echo "$usermaxrow[$max]";
}
?>
但是这只会返回最大评论数,而不是拥有最大评论数的用户。
——工作!谢谢你的评论,代码(它是葡萄牙语的,因为我是葡萄牙人)
$usermaxuploads = mysql_query("SELECT MAX(uploads) as max_count FROM login");
$usermaxuploadsrow = mysql_fetch_array($usermaxuploads);
$maxvar = $usermaxuploadsrow["max_count"];
$usermaxresult = mysql_query("SELECT * from login WHERE uploads = '$maxvar' ");
$usermaxrow = mysql_fetch_array($usermaxresult);
echo $usermaxrow['usuario'];
它应该能满足你的需求:
SELECT MAX(comments) as tot, user FROM users;
其中tot
为评论数,user
为相对用户
您可以在查询MAX()
函数时使用ALIAS
,以便以后以给定的名称调用它。
$usermaxresult = mysql_query("SELECT MAX(comments) as max_count, user FROM users");
现在你可以用
打印了echo $usermaxrow['max_count'];
echo $usermaxrow['user'];
我不知道是我理解错了问题还是其他答案错了。SELECT MAX(comments) as max_count, user FROM users
如何返回评论最多的用户?它返回最高评论数和第一个用户(可能不是评论最多的用户)。下面的问题不应该是正确的吗?
SELECT user, comments FROM users ORDER BY comments DESC LIMIT 0, 1