失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 大数据开发工程师之SQL面试题(一)

大数据开发工程师之SQL面试题(一)

时间:2023-07-21 11:10:23

相关推荐

大数据开发工程师之SQL面试题(一)

sql面试题(一)

牛客后台会记录每个用户的试卷作答记录到exam_record表,现在有两个用户的作答记录详情如下: 用户1001在9月1日晚上10点11分12秒开始作答试卷9001,并在50分钟后提交,得了90分;用户1002在9月4日上午7点1分2秒开始作答试卷9002,并在10分钟后退出了平台。

试卷作答记录表exam_record中,表已建好,其结构如下,请用一条语句将这两条记录插入表中

insert into exam_record(uid,exam_id,start_time,submit_time,score) values(1001,9001,'-09-01 22:11:12','-09-01 23:01:12',90),(1002,9002,'-09-04 07:01:02','-09-04 07:11:02',null);

现有一张试卷作答记录表exam_record,结构如下表,其中包含多年来的用户作答试卷记录,由于数据越来越多,维护难度越来越大,需要对数据表内容做精简,历史数据做备份。

表exam_record:

我们已经创建了一张新表exam_record_before_用来备份之前的试题作答记录,结构和exam_record表一致,请将之前的已完成了的试题作答纪录导入到该表。

insert into exam_record_before_select null,uid,exam_id,start_time,submit_time,score from exam_record where year(submit_time)<;

现在有一套ID为9003的高难度SQL试卷,时长为一个半小时,请你将 -01-01 00:00:00 作为发布时间插入到试题信息表examination_info(其表结构如下图),不管该ID试卷是否存在,都要插入成功,请尝试插入它。

试题信息表examination_info:

replace into examination_info value(null,9003,'SQL','hard',90,'-01-01 00:00:00');

牛客的运营同学想要查看大家在SQL类别中高难度试卷的得分情况。

请你帮她从exam_record数据表中计算所有用户完成SQL类别高难度试卷得分的截断平均值(去掉一个最大值和一个最小值后的平均值)。

示例数据:examination_info(exam_id试卷ID, tag试卷类别, difficulty试卷难度, duration考试时长, release_time发布时间)

示例数据:exam_record(uid用户ID, exam_id试卷ID, start_time开始作答时间, submit_time交卷时间, score得分)

根据输入你的查询结果如下:

从examination_info表可知,试卷9001为高难度SQL试卷,该试卷被作答的得分有[80,81,84,90,50],去除最高分和最低分后为[80,81,84],平均分为81.6666667,保留一位小数后为81.7

select tag,difficulty,ROUND((sum(score)-max(score)-min(score))/(COUNT(score)-2),1) clip_avg_scorefromexamination_infoJOINexam_recordusing(exam_id)where tag='SQL' and difficulty='hard';

如果觉得《大数据开发工程师之SQL面试题(一)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。