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

试卷发布当天作答人数和平均分

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

select distinct exam_record.exam_id,
count(distinct user_info.uid) as uv,
round(avg(score),1) as avg_score
from exam_record inner join examination_info
on exam_record.exam_id=examination_info.exam_id
inner join user_info on user_info.uid=exam_record.uid
where tag= 'SQL' and level>5 
and date_format(start_time,'%Y-%m-%d')=date_format(release_time,'%Y-%m-%d')
group by exam_id
order by uv desc,avg_score asc

一开始计算人数搞错了,写的是sum(if(level>5,1,0)) ,错在重复计算uid,有的一定可能重复出现就被重复计数了。
看题解发现了一个表联接新用法,应该是:表1 inner join 表2 using(字段)


全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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