题解 | #试卷发布当天作答人数和平均分#
试卷发布当天作答人数和平均分
http://www.nowcoder.com/practice/5b58e89556dc4153a79d8cf8c08ba499
#试卷发布当天 作答人数 和 平均分
#解题思路, 没有什么特别的, 根据三表连接,找出相应的字段,然后根据 where 筛选出 相应条件的记录, 进行分组聚合
#where date(submit_time) = date(release_time) 保证提交时间和发布时间一致, 不能按照start_time 来匹配, 这里感觉题目逻辑不够明确, 按道理,题目只有发布之后才可以答题,但是却有早于 release_time的start_time,所以只能用submit_time
#level >5 过滤出 级别大于5的用户
#count(distinct b.uid) 避免有人当天 重复做了同一份卷子,对计算人数来说必须去重,
##经常解完题 都玩了看 排序要求,,,,, 搞了半天.....大家要认真审题,多看几遍,别遗漏信息.
select b.exam_id,count(distinct b.uid) as uv, round(avg(score),1) as avg_score from user_info a join exam_record b on a.uid=b.uid left join examination_info c on b.exam_id = c.exam_id where date(submit_time) = date(release_time) and level >5 group by b.exam_id order by uv desc,avg_score ASC