group by 与 order by having区别
时间: 2023-09-03 16:14:25 浏览: 146
sql中 order by 和 group by的区别
5星 · 资源好评率100%
在 SQL 查询中,GROUP BY 和 ORDER BY HAVING 是两个不同的子句,其作用和用途也不同。
1. GROUP BY 子句:
- GROUP BY 子句用于将查询结果集按照指定的列进行分组。它将相同值的行分为一组,并对每组应用聚合函数(如 COUNT、SUM、AVG 等)来计算汇总值。
- GROUP BY 子句常用于统计和汇总数据,例如按照部门分组计算部门销售总额、按照地区分组计算平均销售额等。
- GROUP BY 子句通常与聚合函数一起使用,它可以将结果集分组并对每个组进行聚合计算。
2. ORDER BY HAVING 子句:
- ORDER BY 子句用于对查询结果集按照指定的列进行排序,默认是按照升序排序。
- HAVING 子句用于在分组后对分组结果进行过滤。它可以使用聚合函数和条件表达式来筛选满足特定条件的分组结果。
- ORDER BY HAVING 子句通常与 GROUP BY 子句一起使用,可以在分组后按照指定的列进行排序,并筛选出满足条件的分组结果。
总结:
GROUP BY 子句用于将查询结果集按照指定的列进行分组和汇总,而 ORDER BY HAVING 子句用于对分组结果进行排序和筛选。它们的主要区别在于 GROUP BY 子句用于分组和聚合计算,而 ORDER BY HAVING 子句用于排序和筛选分组结果。
阅读全文