MySQL having关键字详解、与where的区别
warning:
这篇文章距离上次修改已过427天,其中的内容可能已经有所变动。
HAVING 关键字在 MySQL 中主要用于在 SQL 查询结果集上设置条件来过滤分组后的数据。它通常与 GROUP BY 子句一起使用,用于过滤那些不符合指定条件的分组。
HAVING 与 WHERE 的主要区别在于它们的应用场景不同:
WHERE子句用于从数据表中过滤出行。它在 SQL 查询的FROM和GROUP BY之间进行过滤。HAVING子句用于过滤分组后的结果集。它在GROUP BY子句之后执行,可以使用聚合函数。
下面是一个使用 HAVING 的例子:
SELECT category, COUNT(*) AS product_count
FROM products
GROUP BY category
HAVING COUNT(*) > 10;在这个例子中,我们按 category 对 products 表进行分组,并计算每个类别的产品数量。HAVING 子句过滤出那些产品数量大于 10 的分组。
评论已关闭