题目描述
题目:运营想要计算每个学校用户不同难度下的用户平均答题题目数情况,请你取出相应数据
用户信息表:user_profile
题库练习明细表:question_practice_detail
表:question_detail
根据示例,你的查询应返回以下结果:
解题思路
答案一:
SELECT
university,
difficult_level,
COUNT(qpd.question_id) / COUNT(distinct qpd.device_id) as avg_answer_cnt
FROM question_practice_detail as qpd
LEFT JOIN user_profile as up
on up.device_id=qpd.device_id
LEFT JOIN question_detail as qd
on qd.question_id=qpd.question_id
GROUP BY university,difficult_level
question_practice_detail这个表拥有其他两个表相同的数据。通过关系连接表与表中间关系字段。进行两次的内连接,或者左外连接。
三个相关的表进行连接,然后按照每个大学和难度进行分组排序
答案二:
select university,difficult_level,count(difficult_level)/count(distinct S.device_id) avg_answer_cnt
from user_profile S,question_practice_detail T,question_detail Q
where S.device_id=T.device_id and T.question_id=Q.question_id
group by university,difficult_level;