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

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

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

select
    u.university,
    qd.difficult_level,
    round(count(qpd.id)/count(distinct u.device_id),4)as avg_answer_cnt
from
    user_profile as u
join 
    question_practice_detail as qpd on u.device_id=qpd.device_id
join 
    question_detail as qd on qpd.question_id=qd.question_id

where
    u.university='山东大学'
group by
    u.university,qd.difficult_level
order by 
    qd.difficult_level;

【好难——————】

解题步骤:

  1. 连接表:我们需要将 user_profile 表与 question_practice_detail 表通过 device_id 进行连接,然后再与 question_detail 表通过 question_id 进行连接,以获取每个用户的答题难度信息。
  2. 过滤数据:只选择 university 为 "山东大学" 的用户。
  3. 分组计算:根据 difficult_level 进行分组,计算每个难度级别的平均答题量。
  4. 计算平均值:对于每个分组,计算该组内用户的答题总数,并除以用户数量,得到平均答题量。
  5. 格式化输出:将结果保留四位小数。
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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