SQL Group by

Group By子句

Group By子句主要指出对查询结果分组的依据,通常跟聚合函数(Sum, Max,Min等)一起使用.举个例子:比如我们可以使用SUM函数计算所有商店的销售总额,如果我们希望计算每一家商店各自的总销售额时该怎么办呢?要实现这一目的我们需要做两件事:首先,我们需要查询商店名称和销售额两个字段;然后,我们使用SQL语言的GROUP BY命令将销售额按照不同的商店进行分组,从而计算出不同商店的销售总额。GROUP BY命令的语法格式为:

 SELECT "column_name1", SUM("column_name2")

  FROM "table_name"

  GROUP BY "column_name1"


“Sales”表中的原始数据:

Company       Amount

W3Schools    5500
IBM                4500
W3Schools    7100


按照Company字段进行分组,求出每个Company的Amout的合计:

SELECT Company,SUM(Amount) FROM Sales GROUP BY Company

返回结果:

Company     SUM(Amount)

W3Schools   12600
IBM                4500 

小注:
       GROUP BY关键字一般应用于同时查询多个字段并对字段进行算术运算的SQL命令中。

Having子句

Having子句跟Where类似,就是专门同Group By一起使用,指出在Group By中的条件.HAVING子句可以让我们筛选成组后的各组数据,WHERE子句在聚合前先筛选记录.也就是说作用在GROUP BY 子句和HAVING子句前.
而 HAVING子句在聚合后对组记录进行筛选。

select  Company,sum(Amount)  from Sales  group by Company   having count(Company)>1

 

小结:

Group By语句使用中一般必须有聚合函数,对数据进行分类.Having就是专门用来指定Group By子句中的条件的.

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值