题解 | #统计复旦用户8月练题情况#(需要优化)

统计复旦用户8月练题情况

https://www.nowcoder.com/practice/53235096538a456b9220fce120c062b3

# 1.先查出每个用户8月答题数量、正确的数量,作为表a
# 2.再去用户表中找出复旦大学的学生,与表a进行左外连接

select 
    c.device_id,
    c.university,
    if(d.question_cnt is NULL,0,d.question_cnt) question_cnt,
    if(d.right_question_cnt is NULL,0,d.right_question_cnt) right_question_cnt

from user_profile as c
left join
    (select a.device_id,a.question_cnt,b.right_question_cnt
        from 
            (select device_id,count(*) as question_cnt
            from question_practice_detail
            where substring(date,7,1)=8
            group by device_id) as a
        left join (
            select device_id,count(*) as right_question_cnt
            from question_practice_detail
            where result="right" and substring(date,7,1)=8
            group by device_id
        )as b
        on a.device_id = b.device_id
    ) as d
on c.device_id = d.device_id
where c.university="复旦大学"

这个代码写的又臭又长,需要优化

全部评论

相关推荐

有担当的灰太狼又在摸鱼:零帧起手查看图片
点赞 评论 收藏
分享
06-12 16:50
已编辑
小米_软件开发(准入职员工)
晓沐咕咕咕:评论区没被女朋友好好对待过的计小将可真多。觉得可惜可以理解,毕竟一线大厂sp。但是骂楼主糊涂的大可不必,说什么会被社会毒打更是丢人。女朋友体制内生活有保障,读研女朋友还供着,都准备订婚了人家两情相悦,二线本地以后两口子日子美滋滋,哪轮到你一个一线城市房子都买不起的996清高计小将在这说人家傻😅
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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