SQL - 返回最大列值

时间:2013-06-08 09:35:46

标签: php mysql sql

我一直在寻找如何做到这一点,但我找不到任何有用的东西!

所以我的下表包含以下列:

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'];

3 个答案:

答案 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