题意明确:题目要求得到『男性用户有多少人』以及『他们的平均gpa是多少』。


问题分解:

  1. 限定条件为 男性用户;
  2. 有多少人,明显是计数,count函数;
  3. 平均gpa,求平均值用avg函数;

细节问题:根据输出示例,有两个问题需要注意:

  1. 表头重命名,用as语法
  2. 浮点数的平均值可能小数点位数很多,按照示例保存一位小数,用round函数

因此完整代码呼之欲出:

select 
  count(gender) as male_num,
  round(avg(gpa), 1) as avg_gpa
from user_profile where gender="male";