SQL的GROUP BY用法小结

 我来答
天罗网17
2022-07-24 · TA获得超过6191个赞
知道小有建树答主
回答量:306
采纳率:100%
帮助的人:73.3万
展开全部

使用 COUNT() 、 AVG() 、 MIN() 、 MAX() 等聚合函数可实现对分组的过滤,聚合函数会分别对各组数据进行聚合。

以下面的orders表为例:

按照status列将订单分组并计算各组包含的订单条目数:

查询结果为:

再以一个orderdetails表为例:

若希望计算每个订单中包含商品的总价,则有

查询结果为:

GROUP BY 语句中还可以使用函数或表达式来处理数据。

例如,从上述orders表和orderdetails表中查询每年订单总额:

查询结果为:

HAVING 语句可以过滤出分组后满足特定条件的数据。

例如,查找出总额大于60000的订单

查询结果为:

注意

WHERE 语句和 HAVING 语句虽然都可以对数据进行过滤,但用法是不同的, HAVING 语句可以用于过滤分组, WHERE 语句只能过滤行,不能过滤分组;因此 WHERE 语句应在 GROUP BY 之前使用。例如:

查询结果为:

且 WHERE 语句中不能使用别名或者表达式,例如下列写法是不合法的:

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式