码迷,mamicode.com
首页 > 数据库 > 详细

14.SQL语句[6] 聚合、分组

时间:2017-09-17 20:59:08      阅读:285      评论:0      收藏:0      [点我收藏+]

标签:无法   col   运行   小金   group   部门   bsp   sel   数据   

--======================聚合函数============================
--求和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   数据   

原文地址:http://www.cnblogs.com/lolitagis/p/7536954.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!