php group by 求和,GROUP BY 求合计、平均值、最大最小值、数据件数

使用GROUP BY可以取得以下函数值:SUM 合计值

MAX 最大値

MIN 最小値

AVG 平均値

COUNT 数据件数

◎计算合计值【例1】

SELECT ProductID, Sum(Quantity)

FROM OrderDetails

GROUP BY ProductID

「GROUP BY」后跟计算合计值时的key

「SELECT」句中可以指定复数个函数

【例2】

SELECT ProductID, Avg(UnitPrice), Sum(Quantity)

FROM OrderDetails

GROUP BY ProductID

◎「GROUP BY」句的限制

「SELECT」句中只能指定GROUP BY中指定的列和函数。

下面是错误的SQL句例子【例3】

SELECT ProductID, UnitPrice, Sum(Quantity)

FROM OrderDetails

GROUP BY ProductID如果要显示UnitPrice、必须将UnitPrice加到GROUP BY句中。【例4】

SELECT ProductID, UnitPrice, Sum(Quantity)

FROM OrderDetails

GROUP BY ProductID, UnitPrice但是用例4中的SQL进行检索、如果相同ProductID存在不同的UnitPrice的话、一个产品将会被分成几行,得到的不是想要的结果。

◎列名的指定「AS」

使用函数所得的结果中列名将不会被显示。可以用例5的SQL进行列名指定。【例5】

SELECT ProductID AS "产品ID", Sum(Quantity) AS "个数合计"

FROM OrderDetails

GROUP BY ProductID

◎只对特定的行进行合计

除了使用「WHERE」句进行条件指定外、GROUP BY句还可以使用「HAVING」句指定条件。

例、只取得个数合计在100个以上的产品:

【例6】

SELECT ProductID AS "产品ID", Sum(Quantity) AS "个数合计"

FROM OrderDetails

GROUP BY ProductID

HAVING Sum(Quantity) >= 100与「WHERE」句不同的是「HAVING」中指定的抽出条件是函数条件。并且可以使用SELECT句中没有指定的函数。

【例7】

SELECT ProductID AS "产品ID", Sum(Quantity) AS "个数合计"

FROM OrderDetails

GROUP BY ProductID

HAVING Count(ProductID) >= 5例7中只取得有过5次以上订货的产品。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值