题解 | 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;

查看11道真题和解析