题解 | #统计每个学校各难度的用户平均刷题数#

统计每个学校各难度的用户平均刷题数

http://www.nowcoder.com/practice/5400df085a034f88b2e17941ab338ee8

思路

a. 要求查每一个学校,则通过group by进行分组。

b. 要求查不同难度,则通过group by进行分组。

c. 要求平均答题人数,则使用答题总数/答题人数

d. 要求查询学校、试题难度、平均数,则直接使用三表联查。由于没有提到,如果没有答题的就不显示等问题。这里可以使用inner join或者left join

答案

SELECT 
user_profile.university,
question_detail.difficult_level,
COUNT(question_practice_detail.question_id) / COUNT(DISTINCT question_practice_detail.device_id) 
FROM user_profile
INNER JOIN question_practice_detail
ON user_profile.device_id = question_practice_detail.device_id
INNER JOIN question_detail 
ON question_detail.question_id = question_practice_detail.question_id
GROUP BY user_profile.university,question_detail.difficult_level
全部评论

相关推荐

2025-12-28 09:59
复旦大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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