方法一:三表join
# select u.university, qd.difficult_level, count(qpd.question_id) / count(distinct(qpd.device_id)) as avg_answer_cnt
# from
# question_practice_detail as qpd left join user_profile as u on u.device_id = qpd.device_id
# left join question_detail as qd on qpd.question_id = qd.question_id
# group by u.university, qd.difficult_level
方法二:直接select...where 三表join效率不高,根据所需要的数据,查看三个表,寻找其中的联系,直接通过where筛选出来
select u.university, qd.difficult_level, count(qpd.question_id) / count(distinct(qpd.device_id)) as avg_answer_cnt
FROM
user_profile as u,
question_practice_detail as qpd,
question_detail as qd
WHERE
qpd.device_id = u.device_id and
qpd.question_id = qd.question_id
group by u.university, qd.difficult_level