【牛客】SQL146 0级用户高难度试卷的平均用时和平均得分

描述

现有用户信息表user_info(uid用户ID,nick_name昵称, achievement成就值, level等级, job职业方向, register_time注册时间),数据如下:

id uid nick_name achievement level job register_time
1 1001 牛客1号 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考试时长, release_time发布时间),数据如下:

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开始作答时间, submit_time交卷时间, score得分),数据如下:

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

请输出每个0级用户所有的高难度试卷考试平均用时和平均得分,未完成的默认试卷最大考试时长和0分处理。由示例数据结果输出如下:

uid avg_score avg_time_took
1001 33 36.7

解释:0级用户有1001,高难度试卷有9001,1001作答9001的记录有3条,分别用时20分钟、未完成(试卷时长60分钟)、30分钟(未满31分钟),分别得分为80分、未完成(0分处理)、20分。因此他的平均用时为110/3=36.7(保留一位小数),平均得分为33分(取整)

select
uid,
round(avg(ifnull(score,0)),0) as avg_score,
round(avg(ifnull(timestampdiff(minute,start_time,submit_time),duration)),1) as time_took
from
exam_record left join examination_info using(exam_id)
where
uid in (select uid from user_info where level=0) and difficulty='hard'
group by uid

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-26 10:32:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-26 10:32:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-26 10:32:02       82 阅读
  4. Python语言-面向对象

    2024-03-26 10:32:02       91 阅读

热门阅读

  1. 二刷代码随想录——动态规划day57

    2024-03-26 10:32:02       49 阅读
  2. 安卓11系统RK3568 代码控制OTA

    2024-03-26 10:32:02       57 阅读
  3. 数据结构——顺序表(C语言版)

    2024-03-26 10:32:02       46 阅读
  4. 深入理解Elasticsearch高效原理

    2024-03-26 10:32:02       41 阅读
  5. 二刷代码随想录——单调栈day58

    2024-03-26 10:32:02       41 阅读
  6. 每天30分钟python(第一天)

    2024-03-26 10:32:02       39 阅读
  7. Vue 中的 computed 和 watch 的区别

    2024-03-26 10:32:02       41 阅读
  8. flutter项目使用ffi和原生交互问题积累

    2024-03-26 10:32:02       39 阅读
  9. Flutter中被屏蔽的概念,Scheduler(调度器)

    2024-03-26 10:32:02       34 阅读
  10. 医疗器械包装ASTM D4169 松散振动

    2024-03-26 10:32:02       30 阅读
  11. C语言实现广播Echo通信

    2024-03-26 10:32:02       36 阅读