-- 截断平均值,去除最大值和最小值,再算平均数
-- 1、先关联,内连接 2再过滤,sql和hard,过滤最大值,最小值 3、再算平均分 4、保留一位小数
SELECT 
    tag, difficulty, ROUND(AVG(score), 1)
FROM
    examination_info a
        INNER JOIN
    exam_record b ON a.exam_id = b.exam_id
WHERE
    tag = 'SQL' AND difficulty = 'hard'
        AND score IS NOT NULL
        AND score NOT IN ((SELECT 
            MAX(b.score)
        FROM
            examination_info a
                INNER JOIN
            exam_record b ON a.exam_id = b.exam_id
        WHERE
            tag = 'SQL' AND difficulty = 'hard'
                AND score IS NOT NULL) , (SELECT 
                MIN(b.score)
            FROM
                examination_info a
                    INNER JOIN
                exam_record b ON a.exam_id = b.exam_id
            WHERE
                tag = 'SQL' AND difficulty = 'hard'
                    AND score IS NOT NULL));