📜  Have子句和Group by子句之间的区别

📅  最后修改于: 2021-08-29 11:27:30             🧑  作者: Mango

1.有条款:
拥有子句基本上类似于带有GROUP BY子句的聚合函数。使用HAVING子句代替带有聚合函数的WHERE。而GROUP BY子句将具有相同值的行分组为摘要行。 hading子句与where子句一起使用,以便查找具有特定条件的行。 Haveing子句总是在group By子句之后使用。

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

2.按条款分组:
GROUP BY子句通常与聚合函数(MAX,SUM,AVG)一起使用,以按一个或多个列对结果进行分组,或者简单地说,我们可以说GROUP BY子句与SELECT语句配合使用以排列所需的数据分成几组。
GROUP BY语句对具有相同值的行进行分组。该语句在where子句之后使用。该语句通常与某些聚合函数(例如SUM,AVG,COUNT atc)一起使用。将结果按一列或多列分组。

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

Haveing子句和Group by子句之间的区别:

S.No. Having Clause GroupBy Clause
1. It is used for applying some extra condition to the query. The groupby clause is used to group the data according to particular column or row.
2. Having cannot be used without groupby clause. groupby can be used without having clause with the select statement.
3. The having clause can contain aggregate functions. It cannot contain aggregate functions.
4. It restrict the query output by using some conditions It groups the output on basis of some rows or columns.