题解 | #某乎问答11月份日人均回答量#

某乎问答11月份日人均回答量

http://www.nowcoder.com/practice/d1f5a1e50d0b49f3a39eb01c4fdb621f

  1. 解题思路
  • 首先根据日期answer_date分组来分别统计每天回答问题数量issue的值和答题人数author的值,得到一张临时表如下:
SELECT answer_date, COUNT(issue_id) AS issue, COUNT(DISTINCT author_id) author FROM answer_tb GROUP BY answer_date;

alt

  • 接着再提取上表中的数据,根据题目给的公式:(回答问题数量issue / 答题人数author)= 人均回答量per_num,就可以求出11月每天的人均回答量。
  1. 考察知识点:聚合函数COUNT、去重函数DISTINCT、ROUND函数、分组函数GROUP BY的用法以及临时表的构建

  2. 完整参考代码:

SELECT a.answer_date, ROUND((a.issue/a.author), 2) AS per_num
FROM (SELECT answer_date, COUNT(issue_id) AS issue, COUNT(DISTINCT author_id) author FROM answer_tb GROUP BY answer_date) a;

或者还可以简化一下

SELECT answer_date, ROUND(COUNT(issue_id)/COUNT(DISTINCT author_id), 2)per_num FROM answer_tb GROUP BY answer_date;
MySQL题解 文章被收录于专栏

本专栏主要对各种经典的MySQL题进行解说,希望用最易懂简洁的语言帮助大家通关MySQL。

全部评论

相关推荐

07-18 15:02
门头沟学院 Java
刚打开网申页面就不想填了,还是不要为难自己了
poppinzhan...:多益老行业毒瘤了,碰到徐波这种恶心的烂人,去了也是受罪。
点赞 评论 收藏
分享
06-25 16:25
梧州学院 Java
愿汐_:项目介绍那么长,然而你做了啥就一句话?
点赞 评论 收藏
分享
评论
4
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务