現(xiàn)有用戶信息表user_info(uid用戶ID,nick_name昵稱, achievement成就值, level等級, job職業(yè)方向, register_time注冊時(shí)間),數(shù)據(jù)如下: id uid nick_name achievement level job register_time 1 1001 ???號 10 0 算法 2020-01-01 10:00:00 2 1002 牛客2號 2100 6 算法 2020-01-01 10:00:00 試卷信息表examination_info(exam_id試卷ID, tag試卷類別, difficulty試卷難度, duration考試時(shí)長, release_time發(fā)布時(shí)間),數(shù)據(jù)如下: id exam_id tag difficulty duration release_time 1 9001 SQL hard 60 2020-01-01 10:00:00 2 9002 SQL easy 60 2020-01-01 10:00:00 3 9004 算法 medium 80 2020-01-01 10:00:00 試卷作答記錄表exam_record(uid用戶ID, exam_id試卷ID, start_time開始作答時(shí)間, submit_time交卷時(shí)間, score得分),數(shù)據(jù)如下: id uid exam_id start_time submit_time score 1 1001 9001 2020-01-02 09:01:01 2020-01-02 09:21:59 80 2 1001 9001 2021-05-02 10:01:01 (NULL) (NULL) 3 1001 9002 2021-02-02 19:01:01 2021-02-02 19:30:01 87 4 1001 9001 2021-06-02 19:01:01 2021-06-02 19:32:00 20 5 1001 9002 2021-09-05 19:01:01 2021-09-05 19:40:01 89 6 1001 9002 2021-09-01 12:01:01 (NULL) (NULL) 7 1002 9002 2021-05-05 18:01:01 2021-05-05 18:59:02 90 請輸出每個(gè)0級用戶所有的高難度試卷考試平均用時(shí)和平均得分,未完成的默認(rèn)試卷最大考試時(shí)長和0分處理。由示例數(shù)據(jù)結(jié)果輸出如下: uid avg_score avg_time_took 1001 33 36.7 解釋:0級用戶有1001,高難度試卷有9001,1001作答9001的記錄有3條,分別用時(shí)20分鐘、未完成(試卷時(shí)長60分鐘)、30分鐘(未滿31分鐘),分別得分為80分、未完成(0分處理)、20分。因此他的平均用時(shí)為1103=36.7(保留一位小數(shù)),平均得分為33分(取整)
示例1
輸入
drop table if exists examination_info,user_info,exam_record;
CREATE TABLE examination_info (
id int PRIMARY KEY AUTO_INCREMENT COMMENT '自增ID',
exam_id int UNIQUE NOT NULL COMMENT '試卷ID',
tag varchar(32) COMMENT '類別標(biāo)簽',
difficulty varchar(8) COMMENT '難度',
duration int NOT NULL COMMENT '時(shí)長',
release_time datetime COMMENT '發(fā)布時(shí)間'
)CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE TABLE user_info (
id int PRIMARY KEY AUTO_INCREMENT COMMENT '自增ID',
uid int UNIQUE NOT NULL COMMENT '用戶ID',
`nick_name` varchar(64) COMMENT '昵稱',
achievement int COMMENT '成就值',
level int COMMENT '用戶等級',
job varchar(32) COMMENT '職業(yè)方向',
register_time datetime COMMENT '注冊時(shí)間'
)CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE TABLE exam_record (
id int PRIMARY KEY AUTO_INCREMENT COMMENT '自增ID',
uid int NOT NULL COMMENT '用戶ID',
exam_id int NOT NULL COMMENT '試卷ID',
start_time datetime NOT NULL COMMENT '開始時(shí)間',
submit_time datetime COMMENT '提交時(shí)間',
score tinyint COMMENT '得分'
)CHARACTER SET utf8 COLLATE utf8_general_ci;
INSERT INTO user_info(uid,`nick_name`,achievement,level,job,register_time) VALUES
(1001, '牛客1號', 10, 0, '算法', '2020-01-01 10:00:00'),
(1002, '???號', 2100, 6, '算法', '2020-01-01 10:00:00');
INSERT INTO examination_info(exam_id,tag,difficulty,duration,release_time) VALUES
(9001, 'SQL', 'hard', 60, '2020-01-01 10:00:00'),
(9002, 'SQL', 'easy', 60, '2020-01-01 10:00:00'),
(9004, '算法', 'medium', 80, '2020-01-01 10:00:00');
INSERT INTO exam_record(uid,exam_id,start_time,submit_time,score) VALUES
(1001, 9001, '2020-01-02 09:01:01', '2020-01-02 09:21:59', 80),
(1001, 9001, '2021-05-02 10:01:01', null, null),
(1001, 9002, '2021-02-02 19:01:01', '2021-02-02 19:30:01', 87),
(1001, 9001, '2021-06-02 19:01:01', '2021-06-02 19:32:00', 20),
(1001, 9002, '2021-09-05 19:01:01', '2021-09-05 19:40:01', 89),
(1001, 9002, '2021-09-01 12:01:01', null, null),
(1002, 9002, '2021-05-05 18:01:01', '2021-05-05 18:59:02', 90);
加載中...