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

思路:使用表连接将有关联的表合并为大表。并用分组将重复的学校和难度数据合并。同时在计算平均答题数时用所有题目数除以用户数目

代码解释:对连接表进行分组并取出数据

SELECT 
  a.university, 
  c.difficult_level, 
  COUNT(b.question_id) / COUNT(DISTINCT b.device_id) AS avg_answer_cnt
FROM 
  (user_profile AS a
  JOIN question_practice_detail AS b 
  ON a.device_id = b.device_id)
  JOIN question_detail AS c 
  ON b.question_id = c.question_id
GROUP BY 
  a.university,c.difficult_level

题目:https://www.nowcoder.com/practice/5400df085a034f88b2e17941ab338ee8?tpId=199&tags=&title=&difficulty=0&judgeStatus=0&rp=0&sourceUrl=%2Fexam%2Foj%3Fpage%3D1%26tab%3DSQL%25E7%25AF%2587%26topicId%3D199

posted @ 2022-07-11 14:07  tiansz  阅读(106)  评论(0编辑  收藏  举报