SQL典型三段式代码

# 第一段:select段,选择字段及构造字段,其中构造字段常用 count sum round +-*/等函数及运算表达式
select
    university,
    difficult_level,
    round(count(qpd.question_id) / count(distinct qpd.device_id), 4) as avg_answer_cnt

# 第二段:from段,选择表及合并表,合并表的依据为表中相同字段,合并方式有 inner join(默认方式)/left join/right join/full join
from question_practice_detail as qpd
    inner join user_profile as up
        on up.device_id = qpd.device_id and up.university = '山东大学'
    inner join question_detail as qd
        on qd.question_id = qpd.question_id

# 第三段:数据操作段,含数据的 分组/排序/筛选/取指定行数 等操作
group by difficult_level

总结

根据这种三段式的思维模式,可以非常顺畅的编写出目标SQL,完成数据提取任务;应该有意识锻炼这种思维,熟能生巧。