帖子排名靠前的用户 mysql
Top users with posts mysql
我有 2 个用户表 |帖子。
posts
结构是:
[post_id
| post_user_id
]
users
结构是:
[user_id
| user_name
| user_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;
我想这样就可以了。我现在无法验证脚本,请告诉我它是否有效。
select *
from users
where exists (
select * from posts
where users.user_id=posts.post_user_id)
order by users.user_id
limit 5
以下代码将计算每个用户的帖子总数,并仅显示前 5 个帖子。 SQL Fiddle demonstration.
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
我有 2 个用户表 |帖子。
posts
结构是:
[post_id
| post_user_id
]
users
结构是:
[user_id
| user_name
| user_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;
我想这样就可以了。我现在无法验证脚本,请告诉我它是否有效。
select *
from users
where exists (
select * from posts
where users.user_id=posts.post_user_id)
order by users.user_id
limit 5
以下代码将计算每个用户的帖子总数,并仅显示前 5 个帖子。 SQL Fiddle demonstration.
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