题解 |SQL 入门 18 #分组计算练习题#

分组计算练习题

http://www.nowcoder.com/practice/009d8067d2df47fea429afe2e7b9de45

知识

对查询结果进行分组计算

作用:可以控制计算的级别:对全表还是对一组。
目的:细化计算函数的作用对象。
分组语句的一般形式:
[GROUP BY ]
[HAVING ]
GROUP BY子句中的分组依据列必须是表中存在的列名,不能使用AS子句指派的结果集列的别名。
带有GROUP BY 子句的SELECT语句的查询列表中只能出现分组依据列或统计函数,因为分组后每个组只返回一行结果。

例34.统计每门课程的选课人数,列出课程号和人数。

SELECT 课程号, COUNT(课程号) AS 选课人数
FROM 成绩表
GROUP BY 课程号

该语句首先对查询结果按课程号的值分组,所有具有相同课程号值的元组归为一组,然后再对每一组使用COUNT函数进行计算,求得每组的学生人数。

例35.查询每名学生的选课门数和平均成绩。

SELECT 学号, 
COUNT(*) 选课门数,
AVG(成绩) 平均成绩
FROM 成绩表
GROUP BY 学号

题解

题目:现在运营想要对每个学校**不同性别的用户活跃情况发帖数量进**行分析,请分别计算出每个学校每种性别的用户数、30天内平均活跃天数和平均发帖数量。

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

用户信息表:user_profile

30天内活跃天数字段(active_days_within_30)

发帖数量字段(question_cnt)

回答数量字段(answer_cnt)

你的查询返回结果需要对性别和学校分组,示例如下:

示例1

【题解】SQL 入门 文章被收录于专栏

SQL 入门 题解

全部评论
很不错
点赞 回复 分享
发布于 2021-10-06 15:23
好棒呀,俺终于懂了。
点赞 回复 分享
发布于 04-11 15:02 山东

相关推荐

11-08 13:58
门头沟学院 Java
程序员小白条:竟然是蓝桥杯人才doge,还要花钱申领的offer,这么好的公司哪里去找
点赞 评论 收藏
分享
评论
54
12
分享
牛客网
牛客企业服务