题意明确:题目要求得到『男性用户有多少人』以及『他们的平均gpa是多少』。
问题分解:
- 限定条件为 男性用户;
- 有多少人,明显是计数,count函数;
- 平均gpa,求平均值用avg函数;
细节问题:根据输出示例,有两个问题需要注意:
- 表头重命名,用as语法
- 浮点数的平均值可能小数点位数很多,按照示例保存一位小数,用round函数
因此完整代码呼之欲出:
select count(gender) as male_num, round(avg(gpa), 1) as avg_gpa from user_profile where gender="male";