Php 拥有mysql帖子的顶级用户

Php 拥有mysql帖子的顶级用户,php,mysql,sql,select,mysqli,Php,Mysql,Sql,Select,Mysqli,我有两个表用户|帖子 posts结构为: [post\u id|post\u user\u id] 用户结构为: [user\u id|user\u name|user\u password] 现在我想获得排名前5位的帖子用户 编辑1: $cod_sql = "select u.user_name, count(*) as 'TotalNumberofPosts' from users u join posts p on u.user_id=p.post_user_id

我有两个表用户|帖子

posts
结构为:

[
post\u id
|
post\u user\u id
]

用户
结构为:

[
user\u id
|
user\u name
|
user\u password
]

现在我想获得排名前5位的帖子用户

编辑1:

       $cod_sql = "select u.user_name, count(*) as 'TotalNumberofPosts'
from users u
  join posts p
    on u.user_id=p.post_user_id
group by user_name
order by count(*) desc 
limit 5";
        $top10 = mysql_query($cod_sql1) or die (error_sql(mysql_error(),__LINE__,__FILE__));

            echo '<div class="head_panel">Members</div> 
                    <div class="body_panel">
                <table border="1" width="100%">
                    <tr>
                    </tr>   
                    <tr class="tr3">
                Top5 : 
                    </tr>';

    if ( $top10 === FALSE ) 
    { 
        // An error has occured 
        print "There was an error running the query" . mysql_error(); 
    } else { 
        while ( $row = mysql_fetch_assoc($top10) ) 
        { 
            print "This is some data from a row<BR />"; 
            print "Name: ($row) <BR />"; 
        } 
    }  

          }
        break;
$cod\u sql=“选择u.user\u名称,将(*)计数为'TotalNumberofPosts'
来自用户u
联合职位p
on u.user\u id=p.post\u user\u id
按用户名分组
按计数排序(*)说明
限制5”;
$top10=mysql\u query($cod\u sql1)或die(error\u sql(mysql\u error(),\uuuuu LINE\uuuu,\uuuuu FILE\uuu));
echo成员
Top5:
';
如果($top10==FALSE)
{ 
//发生了一个错误
打印“运行查询时出错”。mysql_error();
}否则{
而($row=mysql\u fetch\u assoc($top10))
{ 
打印“这是一行中的一些数据
”; 打印“名称:($row)
”; } } } 打破
我想这样就可以了。我现在无法验证脚本,请告诉我它是否有效

select * 
from users
where exists (
     select * from posts
     where users.user_id=posts.post_user_id)
order by users.user_id
limit 5

以下代码将计算每个用户的帖子总数,并仅显示前5名海报


排名前五的帖子用户你是指排名前五的帖子最多的用户吗?是的,但我希望结果显示他们的用户名,而帖子和用户之间唯一的共同点是用户名。可能是因为我使用了mysql\u查询?我猜你没有获取结果。我提供的SQL语句将返回排名前五的用户。这由查询“Limit 5”的最后一行表示。现在唯一需要做的就是编写支持PHP的代码来显示信息。我上面提供的链接给出了一个如何获取信息并显示它的示例。我这样做了,但结果什么都没有,页面为空。您是否修改了链接上的代码以使用表结构?post中的数据在用户表中是否有相应的数据?否则,将表连接在一起将不起作用。是否使用此数据显示其他查询?比如从用户中选择*
select u.user_name, count(*) as 'TotalNumberofPosts'
from users u
  join posts p
    on u.user_id=p.post_user_id
group by user_name
order by count(*) desc 
limit 5