with t as (
    # 这里 over() 是开窗函数,表示将平均值放到一整列上
    # 具体参考这个博客:[链接](https://blog.csdn.net/qq_22508585/article/details/79334811?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163901403016780255273896%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=163901403016780255273896&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~baidu_landing_v2~default-1-79334811.first_rank_v2_pc_rank_v29&utm_term=sql%E4%B8%ADover%28%29&spm=1018.2226.3001.4187)
    select er.score, avg(er.score) over() avg_score
    from exam_record er
    join examination_info ei
    on er.exam_id = ei.exam_id
    where er.score is not null and ei.tag = 'SQL'
)

select min(score)
from t
where score >= avg_score;

其中获得的一个小表如下:

80|86.5000
89|86.5000
87|86.5000
90|86.5000