①
select
up.university,
qd.difficult_level,
round(
count(qpd.question_id) / count(distinct qpd.device_id),
4
) as avg_answer_cnt
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
qd.difficult_level;
②
SELECT
up.university,
qd.difficult_level,
round(
COUNT(qpd.device_id) / COUNT(DISTINCT qpd.device_id),
4
) AS avg_answer_cnt
FROM
user_profile up
inner JOIN question_practice_detail qpd ON up.device_id = qpd.device_id
inner JOIN question_detail qd ON qpd.question_id = qd.question_id
GROUP BY
up.university,
qd.difficult_level
HAVING
up.university = '山东大学';