with
-- exam_record为主表,join余下两张表,得出用户作答时长
    t1 as (
        select
            e.emp_id,
            e.exam_id,
            emp_level,
            tag,
            timestampdiff (second, start_time, submit_time) len,
            score
        from
            exam_record e
            left join emp_info ei on e.emp_id = ei.emp_id
            left join examination_info eif on e.exam_id = eif.exam_id
    ),
-- 算出同类试卷的 平均作答时长 和 平均分数
    t2 as (
        select
            exam_id,
            avg(len) avg_time,
            avg(score) avg_score
        from
            t1
        group by
            exam_id
    )
-- t1 和t2表联结,按条件过滤出答案
select
    emp_id,
    emp_level,
    tag as exam_tag
from
    t1
    left join t2 on t1.exam_id = t2.exam_id
where
    len < avg_time
    and score > avg_score
    and emp_level < 7