在 MySQL 中,使用 GROUP BY
子句可以对查询结果进行分组。以下是一个基本的示例:
假设有一个名为 orders
的表,其中包含了订单信息,包括 customer_id
列和 total_amount
列,我们想对客户的订单总额进行分组查询,可以这样做:
SELECT customer_id, SUM(total_amount) AS total_spent
FROM orders
GROUP BY customer_id;
上述查询将按照 customer_id
列对订单进行分组,并计算每个客户的订单总额。
除了 SUM()
聚合函数之外,还可以使用其他聚合函数,如 COUNT()
、AVG()
、MIN()
和 MAX()
等。例如,如果想知道每个客户的订单数量,可以这样查询:
SELECT customer_id, COUNT(*) AS order_count
FROM orders
GROUP BY customer_id;
此外,我们还可以在 GROUP BY
子句中使用多个列进行分组,例如:
SELECT department, employee_type, AVG(salary) AS avg_salary
FROM employees
GROUP BY department, employee_type;
这将按照部门和员工类型对员工的薪资进行分组,并计算每个组的平均薪资。
这是基本的分组查询示例,大家可以根据具体的需求进行调整和扩展。