题解 | #分组计算练习题#
分组计算练习题
https://www.nowcoder.com/practice/009d8067d2df47fea429afe2e7b9de45
# 你的查询返回结果需要对性别和学校分组,示例如下,结果保留1位小数,1位小数之后的四舍五入 select gender, university, count(gender) as user_num, round(avg(active_days_within_30),1) as avg_active_day, round(avg(question_cnt),1) as avg_question_cnt from user_profile group by gender,university ; # 可以进行2次分组 count也可以是直接取 count(*) SELECT gender,university,COUNT(*)user_num,AVG(active_days_within_30)avg_active_days, AVG(question_cnt)avg_quesition_cnt FROM user_profile GROUP BY gender,university
对查询结果进行分组计算
作用:可以控制计算的级别:对全表还是对一组。
目的:细化计算函数的作用对象。
分组语句的一般形式:
[GROUP BY ]
[HAVING ]
GROUP BY子句中的分组依据列必须是表中存在的列名,不能使用AS子句指派的结果集列的别名。
带有GROUP BY 子句的SELECT语句的查询列表中只能出现分组依据列或统计函数,因为分组后每个组只返回一行结果。
例34.统计每门课程的选课人数,列出课程号和人数。
1 2 3 |
|
该语句首先对查询结果按课程号的值分组,所有具有相同课程号值的元组归为一组,然后再对每一组使用COUNT函数进行计算,求得每组的学生人数。
例35.查询每名学生的选课门数和平均成绩。
1 2 3 4 5 |
|
SQL错题 文章被收录于专栏
每天学习一遍 刷题刷题 越刷越强!