题解 | #统计每个用户的平均刷题数#

统计每个用户的平均刷题数

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

解这道题其实就是把三个表水平连接成一个"宽表",这个宽表包含了所有字段。 而水平连接一般使用连接来实现,我这边使用了内连接。 接下来就是确认连接的过滤条件以及按什么字段进行分组。 最后确定用户平均答题数即等于按分组统计下的:答题总数/去重之后的用户数,SQL的写法可以参考我下面这个。 SELECT up.university,qd.difficult_level, COUNT(qd.question_id) / COUNT(DISTINCT qpd.device_id) AS avg_answer_cnt FROM question_practice_detail AS qpd INNER JOIN user_profile AS up ON qpd.device_id = up.device_id AND up.university = '山东大学' INNER JOIN question_detail AS qd ON qpd.question_id = qd.question_id AND qpd.result IS NOT NULL GROUP BY up.university,qd.difficult_level;

全部评论

相关推荐

风间琉璃617:985Java后端,最近刚开始投简历基本没面试😵隔壁班同学前两周投的京东直接过了,给我看了面经基本只问了八股和项目,八股也挺简单的,这哥们暑假跟我一块在一家小厂实习过,我俩简历也都差不多,结果现在我投的京东还在泡池子😭找工作难道真是运气大于一切吗
双非有机会进大厂吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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