Have 子句和 Group by 子句的区别

Have 子句和 Group by 子句的区别

1. Having子句:
Having子句基本上就像带有 GROUP BY 子句的聚合函数。HAVING 子句代替 WHERE 与聚合函数一起使用。而 GROUP BY 子句将具有相同值的行分组为汇总行。Having子句与 where 子句一起使用,以查找具有特定条件的行。Having子句总是在 group By 子句之后使用。

SELECT COUNT (SALARIES) AS COUNT_SALARIES, EMPLOYEES
FROM EMPLOYEES
GROUP BY SALARIES
HAVING COUNT(SALARIES) > 1;

2. GROUP BY 子句:
GROUP BY 子句通常与聚合函数(MAX、SUM、AVG)一起使用,以按一列或多列对结果进行分组,或者简单地说 GROUP BY 子句与 SELECT 语句配合使用来排列所需的数据 成组。
GROUP BY 语句将具有相同值的行分组。GROUP BY 子句用在 where 子句之后。此语句通常与 SUM、AVG、COUNT 等聚合函数一起使用。按一列或多列对结果进行分组。

SELECT COUNT (SALARIES) AS COUNT_SALARIES, EMPLOYEES
FROM EMPLOYEES
GROUP BY SALARIES;

Having 子句和 Group by 子句的区别:

编号 Having 子句 Group by 子句
1 Having 子句用于对查询应用一些额外的条件。 group by 子句用于根据特定的列或行对数据进行分组。
2 没有 group by 子句的情况下,Having 子句可以在聚合函数中使用,它的行为类似于 where 子句。 group by 可以在没有 select 语句的子句的情况下使用。
3 having子句可以包含聚合函数。 Group by 子句不能包含聚合函数。
4 Having 子句使用某些条件限制查询输出 Group by 子句根据某些行或列对输出进行分组。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程