题解 | #SQL类别高难度试卷得分的截断平均值#

SQL类别高难度试卷得分的截断平均值

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

## 使用row_number()窗口函数获取排名(不重复,不跳过,保证只减去第一个最大值和最小值)
SELECT 
    tag,
    difficulty,
    ROUND(AVG(score),1) AS clip_avg_score
FROM(
    SELECT 
    er.exam_id,
    score,
    tag,
    difficulty,
    ROW_NUMBER() OVER (PARTITION BY tag,difficulty 
    ORDER BY score DESC) AS high_rank,
    ROW_NUMBER() OVER (PARTITION BY tag,difficulty 
    ORDER BY score) AS low_rank
    FROM exam_record er
    JOIN examination_info ei USING(exam_id)
    WHERE tag = 'SQL' AND difficulty = 'hard' AND 
    score IS NOT NULL 
) AS t1
WHERE high_rank <> 1 and low_rank <> 1
GROUP BY tag,difficulty


全部评论

相关推荐

東大沒有派對:这是好事啊(峰哥脸
我的秋招日记
点赞 评论 收藏
分享
牛客83265014...:完了,连现在都没开始面,13号投的是不是晚了
秋招的第一个offer,...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务