欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

GROUP BY与聚合函数的结合使用,GROUP BY中SELECT指定的字段限制

程序员文章站 2022-05-08 09:23:18
...

GROUP BY与聚合函数的结合使用,GROUP BY中SELECT指定的字段限制
@R星校长

本关任务:使用GROUP BY关键字结合聚合函数将数据进行分组

在之前的实训中我们简单的提到过GROUP BY关键字,本实训让我们进一步了解GROUP BY与聚合函数的使用。

为了完成本关任务,你需要掌握:

  1. GROUP BY与聚合函数的结合使用;
  2. GROUP BYSELECT指定的字段限制。

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与聚合函数的结合使用,GROUP BY中SELECT指定的字段限制

GROUP BYSELECT指定的字段限制

示例:

select category,sum(count),disgest from info group by category;

执行后会提示下错误,如下图。这就是需要注意的一点,在select指定的字段要么就要包含在Group By语句的后面,作为分组的依据;要么就要被包含在聚合函数中。

GROUP BY与聚合函数的结合使用,GROUP BY中SELECT指定的字段限制

编程要求

在右侧编辑器补充代码,对年级Id和性别进行分组,分别统计表中2、3、4年级的男生总人数和女生总人数。

student表数据结构如下:

stuId gradeId sex
0201 2
0221 2
0319 3
0508 5
0610 6
0101 1
0224 2
0413 4

要求输出结果显示如下:
GROUP BY与聚合函数的结合使用,GROUP BY中SELECT指定的字段限制

预期输出:

gradeId    sex    count(*)
  21
  22
  31
  41

开始你的任务吧,祝你成功!

USE School;

#请在此处添加实现代码
########## Begin ##########

#1.查询表中2,3,4年级中分别男女的总人数
select gradeId,sex,count(*)
from student
where gradeId in (2,3,4)
group by gradeId,sex ;

########## End ##########

GROUP BY与聚合函数的结合使用,GROUP BY中SELECT指定的字段限制
GROUP BY与聚合函数的结合使用,GROUP BY中SELECT指定的字段限制
GROUP BY与聚合函数的结合使用,GROUP BY中SELECT指定的字段限制
GROUP BY与聚合函数的结合使用,GROUP BY中SELECT指定的字段限制