group by 和having by 区别
时间: 2024-05-15 13:11:01 浏览: 99
where和having区别
在 SQL 中,GROUP BY 和 HAVING BY 用于对查询结果进行分组和筛选。
GROUP BY 语句根据一个或多个列对查询结果进行分组,并对每个组应用一个聚合函数,例如 SUM、AVG、COUNT 等,以便计算每个组的总和、平均值、数量等。GROUP BY 子句必须出现在 WHERE 子句之后,ORDER BY 子句之前。
HAVING BY 子句与 WHERE 子句类似,不同之处在于它是用于 GROUP BY 分组后的结果集的筛选。HAVING BY 子句的作用是对 GROUP BY 分组后的结果集进行筛选,并且只返回符合筛选条件的分组结果。HAVING BY 子句必须出现在 GROUP BY 子句之后,ORDER BY 子句之前。
因此,GROUP BY 用于对查询结果进行分组并计算聚合函数,而 HAVING BY 用于在 GROUP BY 分组后对结果集进行筛选。
阅读全文