首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >频率报告的MySQL频率

频率报告的MySQL频率
EN

Stack Overflow用户
提问于 2017-03-14 12:38:53
回答 1查看 41关注 0票数 0

考虑到许多用户有很多帖子

我有一个有外键user_id的帖子表

我想要生成一份报告,显示用户的频率和帖子的频率。

例如:

3个用户分别写了2篇文章

2名用户各写1篇文章

1个用户写了4个帖子

代码语言:javascript
复制
Number of users | Number of posts
--------------- | ------------------
1               | 4
2               | 1
3               | 2  

我的尝试:

代码语言:javascript
复制
SELECT inner_table.frequency_posts, 
       Count(*) AS frequency_users
FROM   posts 
       INNER JOIN (SELECT user_id, 
                          Count(*) AS frequency_posts 
                   FROM   posts
                   GROUP  BY user_id) AS inner_table 
               ON posts.user_id = inner_table.user_id
GROUP  BY inner_table.frequency_posts

我认为frequency_posts是有效的,但计数frequency_users并不能给出正确的值--当我自己查看内部选择并手动将帖子相加时,就不会得到相同的值

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-14 12:53:50

您必须使用Group by两次:

代码语言:javascript
复制
SELECT     
  COUNT(*) AS NumberOfUsers,
  foo.NumberOfPosts
FROM
    (SELECT 
        p.UserId AS UserId, 
        COUNT(*) AS NumberOfPosts
    FROM
        posts AS p
    GROUP BY UserId) as foo
GROUP BY foo.NumberOfPosts
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42786256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档