select user_profile.university as university, count(question_practice_detail.question_id)/count(distinct question_practice_detail.device_id) as avg_answer_cnt from question_practice_detail join user_profile on question_practice_detail.device_id = user_profile.device_id group by university order by university asc
原来distinct不仅可以写在select后面,还可以写在想去重的某个量的前面,就像这道题里,求每个大学的平均答题数,就是先以大学为聚合依据,然后用总答题条数(question_id)/id数(distinct device_id)得到各大学平均每人答题数。