注册

mysql having用法

在 mysql 中,having 子句用于筛选聚合函数的结果,仅影响聚合值,而非原始数据。它可以过滤聚合结果(按聚合值)、应用多个筛选条件或对聚合结果排序。

HAVING 子句在 MySQL 中的用法

HAVING 子句是在 MySQL 中用于筛选聚合结果(例如 SUM、COUNT、AVG 等)的行。它类似于 WHERE 子句,但它是在聚合函数执行后再应用的,因此只能引用聚合函数和分组列。

语法:

SELECT 聚合函数(列名)
FROM 表名
GROUP BY 分组列
HAVING 筛选条件;

用法:

HAVING 子句用于以下情况:

  • 过滤聚合结果:根据聚合函数的值筛选行。例如,查找销售额超过 1000 美元的订单。
  • 应用多个筛选条件:可以使用多个 HAVING 子句来应用复杂的筛选条件。例如,查找销售额超过 1000 美元且客户类型为“批发”的订单。
  • 对聚合结果进行排序:可以使用 HAVING 子句对聚合结果进行排序。例如,按销售额从高到低排序订单。

示例:

查找销售额超过 1000 美元的订单:

SELECT SUM(销售额)
FROM 订单表
GROUP BY 订单号
HAVING SUM(销售额) > 1000;

查找销售额超过 1000 美元且客户类型为“批发”的订单:

SELECT SUM(销售额)
FROM 订单表
GROUP BY 订单号
HAVING SUM(销售额) > 1000
AND 客户类型 = '批发';

按销售额从高到低排序订单:

SELECT SUM(销售额)
FROM 订单表
GROUP BY 订单号
HAVING SUM(销售额) > 0
ORDER BY SUM(销售额) DESC;

以上就是mysql having用法的详细内容,更多请关注CTO智库其它相关文章!