题解 | #试卷发布当天作答人数和平均分#

试卷发布当天作答人数和平均分

https://www.nowcoder.com/practice/5b58e89556dc4153a79d8cf8c08ba499

/*
首先,从examination_info表中选择tag为"SQL"的记录,并提取exam_id和release_time字段的日期部分(使用DATE(release_time))。
然后,从user_info表中选择level大于5的用户的uid。
接下来,从exam_record表中选择exam_id和uid,并计算每个考试的独立用户数(uv)和平均分(avg_score),同时使用IN子查询过滤符合条件的记录:
exam_id存在于第一步中选择的exam_id中。
uid存在于第二步中选择的uid中。
最后,按照独立用户数(uv)降序排序,如果独立用户数相同,则按照平均分(avg_score)升序排序,以获取最终结果。
 */
SELECT
    exam_id,
    count(DISTINCT uid) AS uv,
    ROUND(avg(score), 1) AS avg_score
FROM
    exam_record
WHERE
    (exam_id, DATE (start_time)) IN (
        SELECT
            exam_id,
            DATE (release_time)
        FROM
            examination_info
        WHERE
            tag = "SQL"
    )
    AND uid IN (
        SELECT
            uid
        FROM
            user_info
        WHERE
            `level` > 5
    )
GROUP BY
    exam_id
ORDER BY
    uv DESC,
    avg_score ASC;

全部评论
被当天作答要求背刺了一下,可恶呀!
点赞
送花
回复
分享
发布于 03-24 23:00 广东

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务