题解 | #试卷发布当天作答人数和平均分#

# 首先看需要哪些列 exam_id ,作答人数,平均分
# 限制为SQL类型的试卷  按exam_id 进行分组
# 对uid进行限制  5级以上  SQL发布当天的作答
select exam_id, COUNT(distinct er.uid) AS uv,
ROUND(AVG(er.score),1) AS avg_score
FROM user_info AS ui
JOIN exam_record AS er using(uid)
JOIN examination_info AS ei using(exam_id)
WHERE 
    ei.tag = 'SQL'  
    AND #等级限制
    ui.level > 5
    AND #SQL发布当天的作答的用户
    date_format(ei.release_time,'%Y%m%d') = date_format(er.submit_time,'%Y%m%d')

GROUP BY exam_id
ORDER BY uv DESC,avg_score


# 子查询 
# 首先看需要哪些列 exam_id ,作答人数,平均分 
# 限制为SQL类型的试卷  按exam_id 进行分组 
# 对uid进行限制  5级以上  对时间限制 SQL发布当天的作答  
select exam_id,COUNT(distinct uid) AS uv,
ROUND(AVG(score), 1) AS avg_score
FROM exam_record
WHERE uid in(
    select uid FROM user_info
    WHERE level > 5 
) AND exam_id in (
    select exam_id FROM examination_info
    WHERE tag = 'SQL' 
)
AND date_format(start_time,'%Y%m%d') in (
    select date_format(release_time,'%Y%m%d')
    FROM examination_info
    WHERE tag = 'SQL' 
)
GROUP BY exam_id
ORDER BY uv DESC, avg_score ASC 


全部评论

相关推荐

10-22 20:17
已编辑
门头沟学院 Python
敢逐云霄志:后端没92学历+大厂实习基本别想在秋招约面了,笔试可能都不会给你发,我双非本3段实习,一大,中,一小,中大厂笔试做了一堆,大厂就只有字节给面,其他全没动静,根本轮不到双非。
你觉得第一学历对求职有影...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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