SQL select 使用 GROUP BY 分组介绍

有表 life_unite_order 如图:

执行:   select sum(unite_id),projname from life_unite_order where projname in ('凯旋大厦','双安商场') group by projname      结果为如下图:

看懂没有?上面就是一个利用 group by 分组的实例 我问一下大家如果执行下面这条语句

 select sum(unite_id),unite_id,projname from life_unite_order where projname in ('凯旋大厦','双安商场') group by projname,unite_id

会是什么结果呢?  呵呵! 其实会出现下面的结果如图:

聪明的你看明白了吗? 下面介绍让人睡觉的  group by 分组理论

 

 通过这个结果可以看出,所有的统计函数都是对查询出的每一行数据进行分类以后再进行统计计算。所以在结果集合中,对所进行分类的列的每一种数据都有一行统计结果值与之对应。

 说明:GROUP BY子句中不支持对列分配的假名,也不支持任何使用了统计函数的集合列。另外,对SELECT后面每一列数据除了出现在统计函数中的列以外,都必须在GROUP BY子句中应用。

 

GROUP BY 子句用来为结果集中的每一行产生聚合值。如果聚合函数没有使用 GROUP BY 子句,则只为 SELECT 语句报告一个聚合值。

   当 SELECT 语句中包含 GROUP BY 关键字时,对可以在选择列表中指定的项有一些限制。在该选择列表中所允许的项目是:

  •    分组列。
  •    为分组列中的每个值只返回一个值的表达式,例如将列名作为其中一个参数的聚合函数。这些函数称为矢量聚合。

 

大家睡着了吧?

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值