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

WITH filtered_scores AS (
    SELECT 
        a.tag,
        a.difficulty,
        b.score,
        MAX(b.score) OVER (PARTITION BY a.tag, a.difficulty) AS max_score,
        MIN(b.score) OVER (PARTITION BY a.tag, a.difficulty) AS min_score
    FROM examination_info AS a
    LEFT JOIN exam_record AS b ON a.exam_id = b.exam_id
    WHERE a.tag = 'SQL' AND a.difficulty = 'hard'
)
SELECT 
    tag,
    difficulty,
    ROUND(AVG(score), 1) AS clip_avg_score 
FROM filtered_scores
WHERE score NOT IN (max_score, min_score)
GROUP BY tag, difficulty;

全部评论

相关推荐

挣K存W养DOG:他的价值在于把他家里积攒的财富回馈给社会
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务