SQL的GROUP BY用法小结
1个回答
展开全部
使用 COUNT() 、 AVG() 、 MIN() 、 MAX() 等聚合函数可实现对分组的过滤,聚合函数会分别对各组数据进行聚合。
以下面的orders表为例:
按照status列将订单分组并计算各组包含的订单条目数:
查询结果为:
再以一个orderdetails表为例:
若希望计算每个订单中包含商品的总价,则有
查询结果为:
GROUP BY 语句中还可以使用函数或表达式来处理数据。
例如,从上述orders表和orderdetails表中查询每年订单总额:
查询结果为:
HAVING 语句可以过滤出分组后满足特定条件的数据。
例如,查找出总额大于60000的订单
查询结果为:
注意 :
WHERE 语句和 HAVING 语句虽然都可以对数据进行过滤,但用法是不同的, HAVING 语句可以用于过滤分组, WHERE 语句只能过滤行,不能过滤分组;因此 WHERE 语句应在 GROUP BY 之前使用。例如:
查询结果为:
且 WHERE 语句中不能使用别名或者表达式,例如下列写法是不合法的:
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询