Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql选择顶级用户问题_Mysql - Fatal编程技术网

mysql选择顶级用户问题

mysql选择顶级用户问题,mysql,Mysql,我有用户表,我有帖子表,我想从用户表中选择拥有大量帖子的顶级用户,并按帖子数量排序 我可以通过array\u count\u values()来制作,但我不能订购 现在我想,如果我通过左边的一个mysql查询和join来实现它,将会更好 表格结构 posts id |作者id 我试过这个 SELECT COUNT(1) cnt, u.user_id FROM users u LEFT JOIN posts p ON p.author_id=u.user_id GROUP BY u.user

我有
用户
表,我有
帖子
表,我想从
用户
表中选择拥有大量帖子的顶级用户,并按帖子数量排序 我可以通过
array\u count\u values()
来制作,但我不能订购 现在我想,如果我通过左边的一个mysql查询和join来实现它,将会更好

表格结构

posts
id |作者id

我试过这个

SELECT COUNT(1) cnt, u.user_id 
FROM users u 
LEFT JOIN posts p
ON p.author_id=u.user_id
GROUP BY u.user_id
ORDER BY cnt DESC
LIMIT 20
SELECT COUNT(1) cnt, u.user_id 
FROM users u 
LEFT JOIN posts p
ON p.author_id=u.user_id
GROUP BY u.user_id
ORDER BY cnt DESC
LIMIT 20

它给了我这个 看到箭头了吗 这是什么 我在user_id 5下只有2篇帖子
第一行是什么?

您需要使用GROUP by u user_id按用户聚合帖子。获取帖子数量的计数值,并按该数字降序排列:


您需要使用GROUP by u.user_id按用户聚合帖子,获取帖子数量的计数值,并按该数字降序排列:

我用了这个,它起作用了 是真的吗

SELECT COUNT( 1 ) cnt, a.auther_id
FROM `posts` a
LEFT JOIN users u ON a.auther_id = u.id
GROUP BY a.auther_id
ORDER BY cnt DESC
LIMIT 20 
我用了这个,它起作用了 是真的吗

SELECT COUNT( 1 ) cnt, a.auther_id
FROM `posts` a
LEFT JOIN users u ON a.auther_id = u.id
GROUP BY a.auther_id
ORDER BY cnt DESC
LIMIT 20 

你的表是什么样子的?你的表是什么样子的?我认为它有错误。请告诉我用户和帖子的数量。你必须包括按它排序的帖子数量。你不想要每个用户的帖子数量吗?它给出了排名前20位的每个用户的帖子数量和他们的用户id给我这一行1 cnt=15 id=2 row 2(我想要的东西)cnt=2 id=5,我只有2篇帖子在5个用户id下你好,我在这里。第一行是用户id 2的15篇文章。cnt是帖子的数量,id是用户id。我认为它有错误。请告诉我用户和帖子的数量。您必须包括要按其排序的帖子数量。你不想要每个用户的帖子数量吗?它给出了排名前20位的每个用户的帖子数量和他们的用户id给我这一行1 cnt=15 id=2 row 2(我想要的东西)cnt=2 id=5,我只有2篇帖子在5个用户id下你好,我在这里。第一行是用户id 2的15篇文章。cnt是帖子的数量,id是用户id。