📅  最后修改于: 2023-12-03 15:33:02.934000             🧑  作者: Mango
MySQL 分组函数是一类 SQL 函数,可以对指定的数据列进行分组计算,比如求和、平均、最大、最小等。它们通常与 GROUP BY 语句一起使用。
COUNT 函数返回一列的行数。还可以使用 COUNT(*),返回所有行的行数。可以配合 GROUP BY 使用,统计每个分组的行数。
SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name;
SUM 函数用来计算指定列中数值的总和。
SELECT SUM(column_name) FROM table_name;
AVG 函数用来计算指定列中数值的平均值。
SELECT AVG(column_name) FROM table_name;
MAX 函数用来查找指定列中的最大值。
SELECT MAX(column_name) FROM table_name;
MIN 函数用来查找指定列中的最小值。
SELECT MIN(column_name) FROM table_name;
比如有一个 users 表,记录了用户的信息,包括 id、name、age、gender、salary。
CREATE TABLE users (
id INT,
name VARCHAR(50),
age INT,
gender CHAR(1),
salary FLOAT
);
我们可以通过以下语句统计男女员工的平均薪资:
SELECT gender, AVG(salary) FROM users GROUP BY gender;
输出结果:
+--------+-------------+
| gender | AVG(salary) |
+--------+-------------+
| M | 5000.00000 |
| F | 5500.00000 |
+--------+-------------+
也可以按照年龄段分组统计员工的人数:
SELECT
CASE
WHEN age BETWEEN 20 AND 29 THEN '20-29'
WHEN age BETWEEN 30 AND 39 THEN '30-39'
ELSE '40+'
END AS age_group,
COUNT(*)
FROM users GROUP BY age_group;
输出结果:
+-----------+----------+
| age_group | COUNT(*) |
+-----------+----------+
| 20-29 | 2 |
| 30-39 | 2 |
| 40+ | 1 |
+-----------+----------+
以上就是 MySQL 分组函数的简要介绍和使用方法。