MYSQL按表分组

时间:2018-03-28 19:09:42

标签: mysql sql

好的所以这是我的三个表用户,评论和帖子。

用户(用户名) - 主要用户名

帖子(作者 postId ) - 主键postId,用户用户名的外键作者

评论(评论员 postId commentId ) - 主键commentId,外键评论员对用户的用户名和postId发布到帖子

我想弄清楚每个帖子有多少条评论。然后是属于同一用户的每个帖子的评论总和。

基本上我想知道每个用户收到了多少评论而不是他们做了多少评论。

请我真的不知道该怎么做!

理想输出

用户名totalComments

  • PaulBunyan 10
  • User2 20
  • 等。

2 个答案:

答案 0 :(得分:0)

如果我理解正确,你想:

select p.author, count(*)
from comments c join
     posts p
     on c.postid = p.postid
group b p.author;

答案 1 :(得分:0)

构建多个联接和查询的最佳方法始终是Divide and Conquer。在您的情况下,我将首先构建一个查询,该查询将说明每个帖子的评论数量,然后将该结果与列出每个帖子列出哪个authorID的表连接,然后加入具有作者姓名的表。