数据库数据分组

数据库数据分组
1、Group By语句
Group By 从字面意义上理解就是根据“By”指定的规则对数据进行分组,所谓的分组就是将一个“数据集”划分成若干个“小区域”,然后针对若干个“小区域”进行数据处理。
分组前的数据:
在这里插入图片描述

分组后的数据:
在这里插入图片描述

分组后的数据与分组前的数据相比,分组后的数据是先以sage开始从小到大排序的,然后在以sname的中文首字母从a到z开始排序的,最后在以ssex的中文首字母从a到z开始排序的。

2、GROUP BY子句和聚合函数
GROUP BY 子句通常与聚合函数一起用于统计数据。聚合函数对组执行计算并返回每个组的唯一值。 例如, COUNT() 函数返回每个组中的行数。
其他常用的聚合函数是: SUM() , AVG() , MIN() , MAX() 。 GROUP BY 子句将行排列成组,聚合函数返回每个组的统计量(总数量,最小值,最大值,平均值,总和等)。
带有COUNT()函数示例的GROUP BY子句
在这里插入图片描述

GROUP BY子句带有MIN和MAX函数示例
在这里插入图片描述

带有AVG()函数示例的GROUP BY子句

在这里插入图片描述

带有SUM函数示例的GROUP BY子句
在这里插入图片描述

3、Having子句
HAVING 子句通常与[GROUP BY]子句一起使用,以根据指定的条件列表过滤分组。 以下是 HAVING 子句的语法:
在这里插入图片描述

在此语法中, GROUP BY 子句将行汇总为分组, HAVING 子句将一个或多个条件应用于这些每个分组。
只有使条件评估为 TRUE 的组才会包含在结果中。 换句话说,过滤掉条件评估为 FALSE 或 UNKNOWN 的组。
因为SQL Server在 GROUP BY 子句之后处理 HAVING 子句,所以不能通过使用列别名来引用选择列表中指定的聚合函数。


版权声明:本文为weixin_50179284原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。