我一直在寻找如何做到这一点,但我找不到任何有用的东西!
所以我的下表包含以下列:
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'];
答案 0 :(得分:1)
它应该能满足您的需求:
SELECT MAX(comments) as tot, user FROM users;
其中tot
为评论数量,user
为相对用户。
答案 1 :(得分:0)
您可以在ALIAS
函数的查询中使用MAX()
,以便以后可以使用给定名称调用它。
$usermaxresult = mysql_query("SELECT MAX(comments) as max_count, user FROM users");
现在您可以使用
进行打印echo $usermaxrow['max_count'];
echo $usermaxrow['user'];
答案 2 :(得分:0)
我不知道我是否错误地理解了这个问题,或者其他答案是错误的。 SELECT MAX(comments) as max_count, user FROM users
如何返回评论最多的用户?它返回最高评论的编号和第一个用户(可能不是评论最多的用户)。下面的查询不应该是正确的吗?
SELECT user, comments FROM users ORDER BY comments DESC LIMIT 0, 1