SQL groupby having
时间: 2023-11-09 11:58:02 浏览: 152
SQL中的GROUP BY子句用于将结果集按照一个或多个列进行分组,并对每个组应用聚合函数。而HAVING子句用于在GROUP BY子句的基础上,对分组结果进行筛选。
具体来说,GROUP BY子句将查询结果按照指定的列进行分组,使得每个分组中的数据具有相同的值。而HAVING子句可以在分组后对分组结果进行筛选,只返回满足特定条件的分组。
举个例子,假设我们有一个包含员工信息的表employee,我们想要按照部门对员工进行分组,并且只返回平均工资超过5000的部门:
```
SELECT department, AVG(salary) as avg_salary
FROM employee
GROUP BY department
HAVING AVG(salary) > 5000;
```
在这个例子中,我们使用GROUP BY子句将员工按照部门进行分组,然后使用AVG函数计算每个部门的平均工资。最后,我们使用HAVING子句筛选出平均工资大于5000的部门。
阅读全文