MySQL GROUP BY子句
时间:2019-02-04 12:52:26 来源:igfitidea点击:
MySQL GROUP BY子句用来SELECT语句中收集跨多条记录的数据,并按一个或多个列对结果进行分组。
语法
MySQL中GROUP BY子句的语法为:
SELECT expression1, expression2, ... expression_n, aggregate_function (expression) FROM tables [WHERE conditions] GROUP BY expression1, expression2, ... expression_n;
参数 | 说明 |
---|---|
expression1,expression2,... expression_n | 没有封装在聚合函数中的这些表达式必须包含在GROUP BY子句中。 |
aggregate_function | 聚合函数,例如SUM,COUNT,MIN,MAX,或AVG。 |
tables | 从中检索记录的表。在FROM子句中必须至少有一个表。 |
conditions | 可选的。选择记录必须满足的条件。 |
MySQL GROUP BY子句示例
示例-使用SUM函数的GROUP BY子句
SELECT product, SUM(quantity) AS "总数量" FROM order_details GROUP BY product;
使用SUM函数返回产品名称和总数量。
因为在SELECT语句中列出了未封装在SUM函数中的一列(product字段),所以在GROUP BY子句中,必须包含该字段。
示例-在MySQL 的COUNT函数中使用GROUP BY子句
SELECT product, COUNT(*) AS "Number of orders" FROM order_details WHERE category = 'produce' GROUP BY product;
示例-使用MIN函数的GROUP BY子句
SELECT department, MIN(salary) AS "最低工资" FROM employees GROUP BY department;
返回每个部门的名称和部门中的最低工资。
示例-使用MAX函数的GROUP BY子句
SELECT department, MAX(salary) AS "最高工资" FROM employees GROUP BY department;
返回每个部门的名称和部门中的最高薪水。