在 MySQL 中,GROUP BY 语句用于将结果集按照一个或多个列进行分组。通常,与 GROUP BY 一起使用的还有聚合函数,例如 COUNT、SUM、AVG 等,以对每个组执行计算。以下是一些示例:

1. 按单个列分组:
   SELECT department, COUNT(*) AS employee_count
   FROM employees
   GROUP BY department;
   这将返回每个部门的员工数量。COUNT(*) 表示对每个部门进行计数。

2. 按多个列分组:
   SELECT department, city, AVG(salary) AS average_salary
   FROM employees
   GROUP BY department, city;
   这将返回每个部门和城市的平均工资。AVG(salary) 表示对每个部门和城市的工资进行平均计算。

3. 使用聚合函数和 HAVING 子句:
   SELECT department, COUNT(*) AS employee_count
   FROM employees
   GROUP BY department
   HAVING employee_count > 10;
   这将返回员工数量大于 10 的每个部门。HAVING 子句用于过滤分组后的结果。

4. 按表达式分组:
   SELECT YEAR(hire_date) AS hire_year, COUNT(*) AS employee_count
   FROM employees
   GROUP BY hire_year;
   这将返回每年入职的员工数量。YEAR(hire_date) 表示对入职日期进行年份提取。

GROUP BY 在结合聚合函数使用时非常有用,可以对数据进行更细粒度的分析。确保 GROUP BY 子句中的列包含在 SELECT 子句中,或者是聚合函数的参数。


转载请注明出处:http://www.zyzy.cn/article/detail/14096/MySQL