MySQL having关键字详解、与where的区别
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 的分组。
评论已关闭