例1:
select 类别, sum(数量) as 数量之和 from A group by 类别
返回结果如下表,实际上就是分类汇总。
可以在后面加上order by sum(数量) desc,结果集则按数量降序排列
例二:
select 类别, sum(数量) as 数量之和, 摘要 from A group by 类别 order by 类别 desc
会报错,在select指定的字段要么就要包含在Group By语句的后面,作为分组的依据;要么就要被包含在聚合函数中。(摘要 错误)
例三:
多列分组
select 类别, 摘要, sum(数量) as 数量之和 from A group by 类别, 摘要
例四:
在示例3中提到group by语句中select指定的字段必须是“分组依据字段”,其他字段若想出现在select中则必须包含在聚合函数中,常见的聚合函数如下表:
函数 | 作用 | 支持性 |
---|---|---|
sum(列名) | 求和 | |
max(列名) | 最大值 | |
min(列名) | 最小值 | |
avg(列名) | 平均值 | |
first(列名) | 第一条记录 | 仅Access支持 |
last(列名) | 最后一条记录 | 仅Access支持 |
count(列名) | 统计记录数 | 注意和count(*)的区别 |
select 类别, avg(数量) AS 平均值 from A group by 类别; select 类别, count(*) AS 记录数 from A group by 类别;