我有一个看起来像这样的数据库:
user_id photo_id
1 1
1 2
1 3
1 4
2 5
2 6
Run Code Online (Sandbox Code Playgroud)
我想从中获得最受欢迎用户的列表.像这样:
Popular Users: 1 (4) & 2 (2)
Run Code Online (Sandbox Code Playgroud)
我将如何在PHP中使用mysql进行此操作?
谢谢,库尔顿
PS:我对mysql命令了解很多,所以你不必愚蠢.谢谢!
Mar*_*c B 16
基本查询将是:
select user_id, count(user_id) as cnt
from yourtable
group by user_id
order by cnt desc
Run Code Online (Sandbox Code Playgroud)
要显示结果,请执行以下操作:
$results = array()
while($row = mysql_fetch_assoc($query_result)) {
$results[] = "{$row['user_id']} ({$row['cnt']})"
// repeat for however many results you want
}
echo "Popular user: ", implode(" & ", $results);
Run Code Online (Sandbox Code Playgroud)
select user_id, count(user_id) as count from table order by count desc group by user_id
Run Code Online (Sandbox Code Playgroud)
无论如何......