14.SQL语句[6] 聚合、分组
时间:2021-07-01 10:21:17
帮助过:7人阅读
======================聚合函数============================
--求和sum 求平均avg 求个数count 最大值max 最小值min
select
sum(金额)
as 总金额,
avg(金额)
as 平均金额,
max(金额)
as 最大金额,
min(金额)
as 最小金额,
COUNT(
*)
as 订单数
from 数据
--为什么运行时报错?
select 商品,SUM(金额) as 总金额 from 数据
--聚合之后的1个结果,无法与多行数据对应,所以报错
--结论1:select使用了聚合函数之后,后面不能直接跟其他字段
select SUM(金额)
as 总金额
from 数据
select 商品
from 数据
--======================分组统计============================
--统计一下,每个商品的总销售额,按商品类分组统计
--使用了SUM(金额)之后,它就不是表示所有商品的金额总和,而是表示每一个组
--内部的总和
--结论2:select后面如果有聚合,那么如果要跟其他字段,那么“其他字段”
--要么分组、要么聚合。
select
商品,
SUM(金额)
as 总金额,
AVG(金额)
as 平均金额,
MAX(金额)
as 最大金额,
MIN(金额)
as 最小金额
from 数据
group by 商品
-----分组统计中 先执行分组 再执行聚合
--======================分组筛选============================
--统计一下每个部门金额达到100的订单的销售总额
select 销售部门,
SUM(金额)
as 总销售额
from 数据
group by 销售部门
select 销售部门,
SUM(金额)
as 总销售额
from 数据
where 金额
>=100 group by 销售部门
--where 金额>=100 这个筛选是分组之前对数据源的筛选。
--统计一下销售总额超过8000的部门信息
select 销售部门,
SUM(金额)
as 总销售额
from 数据
group by 销售部门
having SUM(金额)
>=8000
--having SUM(金额)>=8000 这个筛选是在分组之后的基础上做的筛选
14.SQL语句[6] 聚合、分组
标签:无法 col 运行 小金 group 部门 bsp sel 数据