题解 | #0级用户高难度试卷的平均用时和平均得分#

0级用户高难度试卷的平均用时和平均得分

https://www.nowcoder.com/practice/bb474c6cbd77478fb6d9fc86934d0ebb

select t1.uid,
round(sum(score)/count(*)) as avg_score,
round(sum(if(submit_time is not null,timestampdiff(minute,start_time,submit_time),t2.duration))/count(*),1) as avg_time_took
from exam_record t1
join examination_info t2 on t1.exam_id=t2.exam_id
where t2.difficulty = "hard" and t1.uid in (
    select uid from user_info where level=0
)
group by t1.uid

思路:首先想到的是三表连接,但是到这道题的时候,还没用过三表连接,所以就想先从一张表中提取出想要的信息,然后另外两张表连接.

问题:输出每个0级用户所有的高难度试卷考试平均用时和平均得分,未完成的默认试卷最大考试时长和0分处理。

分析:

  • "输出每个0级用户..",这一部分表示对于用户表,我们只需要筛选出0级用户的uid,那么连接剩下的两张表即可.
  • "未完成的默认试卷最大考试时长和0分处理",这个需要用到if(cod,res1,res2),
全部评论

相关推荐

沟头学院:无关比赛不要写,这样会显着你主次不分,比赛不要撒谎,有哪些就写那些,创新创业建议删除。技能特长可以适当夸大。
点赞 评论 收藏
分享
许愿ssp的咸鱼很不想泡池子:import python as pyhton
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务