mysql中group by子句的使用
时间: 2023-08-31 11:09:42 浏览: 97
简单介绍MySQL中GROUP BY子句的使用
5星 · 资源好评率100%
在MySQL中,GROUP BY子句用于将结果集按照一个或多个列进行分组,并对每个组计算聚合函数的值,如SUM、COUNT、AVG等。
GROUP BY子句的基本语法如下:
```
SELECT column1, column2, ...
FROM table_name
WHERE condition
GROUP BY column1, column2, ...;
```
其中,column1, column2等表示要分组的列名。注意,SELECT语句中的每个列名必须是GROUP BY子句中列名的子集或聚合函数的参数,否则MySQL会报错。
例如,下面的查询语句将按照city列分组,并计算每个城市的平均工资:
```
SELECT city, AVG(salary)
FROM employee
GROUP BY city;
```
如果需要按照多个列进行分组,可以在GROUP BY子句中指定多个列名,用逗号分隔,例如:
```
SELECT department, city, AVG(salary)
FROM employee
GROUP BY department, city;
```
需要注意的是,如果SELECT语句中包含聚合函数,那么查询结果中的列名将是聚合函数的别名,而不是原始表中的列名。如果需要指定别名,可以使用AS关键字,例如:
```
SELECT department, city, AVG(salary) AS average_salary
FROM employee
GROUP BY department, city;
```
最后,如果需要过滤分组后的结果集,可以在GROUP BY子句之后使用HAVING子句,例如:
```
SELECT department, city, AVG(salary) AS average_salary
FROM employee
GROUP BY department, city
HAVING AVG(salary) > 5000;
```
这个查询将只返回平均工资大于5000的部门和城市。
阅读全文