题解 | #统计每个学校各难度的用户平均刷题数#
统计每个学校各难度的用户平均刷题数
https://www.nowcoder.com/practice/5400df085a034f88b2e17941ab338ee8
select university, difficult_level, round(count(qpd.question_id)/count(distinct qpd.device_id),4) as avg_answer_cnt from question_practice_detail qpd left join user_profile up on up.device_id = qpd.device_id left join question_detail qd on qpd.question_id = qd.question_id group by university,difficult_level
问题分解:
- 限定条件:无;
- 每个学校:按学校分组
group by university - 不同难度:按难度分组
group by difficult_level - 平均答题数:总答题数除以总人数
count(qpd.question_id) / count(distinct qpd.device_id) - 来自上面信息三个表,需要联表,up与qpd用device_id连接,qd与qpd用question_id连接。
由于结果需要三个表中的多列数据,因此进行关联
注:由于计算平均答题数的数据均来源于question_practice_detail,因此在联结时候应保全该表,以该表为本体联结另外两张表
sql练习 文章被收录于专栏
记录练习过程
查看11道真题和解析