题解 | #满足条件的用户的试卷完成数和题目练习数#

满足条件的用户的试卷完成数和题目练习数

https://www.nowcoder.com/practice/5c03f761b36046649ee71f05e1ceecbf

select user_info.uid uid,
count(distinct if(year(er.submit_time)=2021,er.id,null)) exam_cnt,
count(distinct if(year(pr.submit_time)=2021,pr.id,null)) question_cnt
from user_info
join exam_record er using(uid)
left join practice_record pr using(uid)
where
uid in(
    select uid from exam_record
    join examination_info using(exam_id)
    join user_info using(uid)
    where tag='SQL' and difficulty='hard' and level=7
    and 
    year(exam_record.submit_time)=2021 
    group by uid
    having avg(score)>80
    )
group by uid
order by exam_cnt asc,question_cnt desc
全部评论
筛选年份要在count计数中单独筛选,因为存在没做练习题但做了试卷的用户,而在外面直接写year(practice_record.submit_time)=2021会把这类uid全部删掉,不符合题意。
点赞 回复 分享
发布于 2022-09-15 13:10 湖南

相关推荐

评论
点赞
收藏
分享

创作者周榜

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