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

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

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

首先确定select后的字段为exam_id,count(distinct uid),avg(score),在这里首先确定uv计算的人数需要去重所以用distinct关键字,其次确定score的空置不影响avg函数计算所以不对空置做任何处理。

其次题目中给出了三个表,通过对三个表的观察,确定from后的字段为三表关联查询,找到关联字段消除笛卡尔积。

再次,确定where后的条件为‘SQL’试卷,试卷发布当天,五级以上用户

最后用group by分组。

select exam_id,       
    count(distinct uid) uv,
    round(avg(score),1) avg_score
from exam_record er
    left join user_info ui
	using(uid)
	left join examination_info ei
	using(exam_id)
where tag='SQL'
    and date_format(start_time,'%Y%m%d')=date_format(release_time,'%Y%m%d')
	and level>5
group by exam_id;
全部评论

相关推荐

king122:专业技能不要写这么多,熟悉和熟练你经不住问,排版有些难看,中间的空隙搞小一点,项目描述的话感觉是从课程中抄下来的,改一改吧,不然烂大街了,每个项目都写一两点,用什么技术实现了什么难点,然后再写一些数字上去像时间又花了90%这样,这样面试会多一些,如果觉得自己的项目还是不够用的话,我有几个大厂最近做过的实习项目,感兴趣的话可以看我简介中的项目地址
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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