题解

  1. 题目是要求每个学校每种性别。因此我们可以直接使用group by字段针对学校和性别进行分组。

  2. 因为要涉及到总数、平均数。我们直接在分组的结果中进行avg函数就可以了。avg函数会自动去计算总数/总条数。其实这里也不够怎么严谨,没有明确说明每一个用户只有一条数据。

答案

SELECT 
gender,
university,
COUNT(device_id) as user_num,
AVG(active_days_within_30) as avg_active_day, 
AVG(question_cnt) as avg_question_cnt
FROM user_profile GROUP BY university, gender;