概述
使用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次以上订货的产品。
最后
以上就是温暖音响为你收集整理的php group by 求和,GROUP BY 求合计、平均值、最大最小值、数据件数的全部内容,希望文章能够帮你解决php group by 求和,GROUP BY 求合计、平均值、最大最小值、数据件数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复