ZBLOG

mysql 的having语句介绍

HAVING 是 SQL 中一个可选的关键字,用于与 GROUP BY 一起使用来筛选分组后的结果集。HAVING 子句可以让我们在分组后对分组结果进行过滤。

HAVING 子句语法如下:

SELECT column1, column2, ...
FROM table_name
WHERE condition
GROUP BY column1, column2, ...
HAVING condition
ORDER BY column1, column2, ...;

其中,HAVING 关键字紧跟在 GROUP BY 子句之后,它接收一个条件表达式作为参数。只有符合条件的记录才会出现在查询结果中。

需要注意以下几点:

  1. HAVING 子句只能与 GROUP BY 一起使用。
  2. HAVING 子句中可以使用聚合函数,如 COUNT()、SUM()、AVG() 等。
  3. 如果没有指定 GROUP BY 子句,则 HAVING 将作用于整个查询结果集。
  4. WHERE 和 HAVING 的区别:WHERE 过滤行,而 HAVING 过滤分组。

下面是一个例子:

假设我们有一个订单表 orders ,其中包含字段 order_id、customer_id 和 total_amount 。现在我们想查找每个客户的总销售额,并仅返回总销售额大于 1000 的客户记录。可以使用如下 SQL 查询语句:

SELECT customer_id, SUM(total_amount) as total_sales
FROM orders
GROUP BY customer_id
HAVING SUM(total_amount) > 1000;

上述语句将根据客户 ID 分组,并计算每个客户的总销售额。然后,HAVING 子句将从分组结果中过滤出总销售额大于 1000 的客户记录。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=5780

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?