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

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

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

问题分析

请输出每个0级用户所有的高难度试卷考试平均用时和平均得分,未完成的默认试卷最大考试时长和0分处理。
  1. 刷选出0级用户和其作答的难度为hard的试卷——left jion三表联接或两表联接+子查询,本人采用后者
  2. 求其平均用时,结果取整,未完成的试卷用时按试卷的考试时长计算——四舍五入函数round()/平均值函数avg()/条件判断函数if()/计算时间差函数timestampdiff()
  3. 求其平均得分,结果保留1位小数,未完成的试卷按0分计算——四舍五入函数round()/平均值函数avg()/条件判断函数if()/计算时间差函数timestampdiff()

答案参考

SELECT
    uid
    ,round(avg(if(score is null,0,score)))avg_score
    ,round(
        avg(if(submit_time is null,duration
               ,timestampdiff(minute,start_time,submit_time)))
        ,1)avg_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;

结果截图


全部评论
该牛油正在参与牛客写题解薅羊毛的活动,牛币,周边,京东卡超多奖品放送,活动进入倒计时!快来捡漏啦https://www.nowcoder.com/discuss/888949?source_id=profile_create_nctrack&channel=-1
点赞 回复 分享
发布于 2022-04-27 12:08

相关推荐

jack_miller:杜:你不用我那你就用我的美赞臣
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务