GROUP BY与聚合函数的结合使用,GROUP BY中SELECT指定的字段限制
程序员文章站
2022-05-08 09:23:18
...
@R星校长
本关任务:使用GROUP BY
关键字结合聚合函数将数据进行分组
在之前的实训中我们简单的提到过GROUP BY
关键字,本实训让我们进一步了解GROUP BY
与聚合函数的使用。
为了完成本关任务,你需要掌握:
-
GROUP BY
与聚合函数的结合使用; -
GROUP BY
中SELECT
指定的字段限制。
GROUP BY
与聚合函数的使用
基本格式:
select [聚合函数] 字段名 from 表名 [where 查询条件] [group by 字段名]
先提供表Info
结构如下:
category | count | digest |
---|---|---|
a | 5 | a2002 |
a | 2 | a2001 |
a | 11 | a2001 |
b | 10 | b2003 |
b | 6 | b2002 |
b | 3 | b2001 |
c | 9 | c2005 |
c | 9 | c2004 |
c | 8 | c2003 |
c | 7 | c2002 |
c | 4 | c2001 |
示例:将表中数据分类并汇总
GROUP BY
中SELECT
指定的字段限制
示例:
select category,sum(count),disgest from info group by category;
执行后会提示下错误,如下图。这就是需要注意的一点,在select
指定的字段要么就要包含在Group By
语句的后面,作为分组的依据;要么就要被包含在聚合函数中。
编程要求
在右侧编辑器补充代码,对年级Id
和性别进行分组,分别统计表中2、3、4
年级的男生总人数和女生总人数。
student表数据结构如下:
stuId | gradeId | sex |
---|---|---|
0201 | 2 | 男 |
0221 | 2 | 男 |
0319 | 3 | 女 |
0508 | 5 | 男 |
0610 | 6 | 女 |
0101 | 1 | 男 |
0224 | 2 | 女 |
0413 | 4 | 女 |
要求输出结果显示如下:
预期输出:
gradeId sex count(*)
2 女 1
2 男 2
3 女 1
4 女 1
开始你的任务吧,祝你成功!
USE School;
#请在此处添加实现代码
########## Begin ##########
#1.查询表中2,3,4年级中分别男女的总人数
select gradeId,sex,count(*)
from student
where gradeId in (2,3,4)
group by gradeId,sex ;
########## End ##########
下一篇: MongoDB 聚合Group(一)