Group By的使用

“Group By”从字面意义上理解就是根据“By”指定的规则对数据进行分组,所谓的分组就是将一个“数据集”划分成若干个“小区域”,然后针对若干个“小区域”进行数据处理。

1、简单Group By

1
2
3
select 类别, sum(数量) AS 数量之和
from A
group by 类别

对各类进行求和

2、Group By 和 Order By联合使用

1
2
3
4
select 类别, sum(数量) AS 数量之和
from A
group by 类别
order by sum(数量) desc

3、Group By中Select指定的字段限制

1
2
3
4
select 类别, sum(数量) as 数量之和, 摘要
from A
group by 类别
order by 类别 desc

在select指定的字段要么就要包含在Group By语句的后面,作为分组的依据;要么就要被包含在聚合函数中

4、Group By All

1
2
3
select 类别, 摘要, sum(数量) as 数量之和
from A
group by all 类别, 摘要

示例中指定“摘要”字段,将类别和摘要一起作为联合索引。类别字段会重复

5、Group By与聚合函数

在示例3中提到group by语句中select指定的字段必须是“分组依据字段”,其他字段若想出现在select中则必须包含在聚合函数中,常见的聚合函数如下表:

函数 作用 支持性
sum(列名) 求和
max(列名) 最大值
min(列名) 最小值
avg(列名) 平均值
first(列名) 第一条记录 仅Access支持
last(列名) 最后一条记录 仅Access支持
count(列名) 统计记录数 注意和count(*)的区别
参考资料

https://www.cnblogs.com/rainman/archive/2013/05/01/3053703.html#m2