MySQL的七个聚合函数

更新时间:02-08 教程 由 静谧 分享

MySQL是一种常用的关系型数据库管理系统(RDBMS),在数据处理和分析中广泛应用。MySQL提供了许多聚合函数,用于对数据进行分组并返回总和、平均值、最大值、最小值等结果。

SELECT 函数名称(列名) FROM 表名;

下面我们将介绍七个常用的MySQL聚合函数:

AVG(): 返回指定列的平均值。MAX(): 返回指定列的最大值。MIN(): 返回指定列的最小值。SUM(): 返回指定列的总和。COUNT(): 返回指定列的行数。COUNT(DISTINCT 列名): 返回指定列不同值的行数。GROUP_CONCAT(): 返回指定列的所有值,以逗号分隔。

下面我们通过一个简单的例子来演示这些函数的用法:

CREATE TABLE students (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(20),age INT,gender VARCHAR(5),score INT);INSERT INTO students (name, age, gender, score)VALUES('张三', 18, '男', 90),('李四', 19, '女', 80),('王五', 20, '女', 85),('赵六', 21, '男', 95),('孙七', 22, '女', 75);

假设我们要统计学生表中男生的平均分、女生的最高分、各个年龄段的学生人数和所有学生的总分数,可以这样查询:

SELECTAVG(score) AS 男生平均分,MAX(score) AS 女生最高分,COUNT(*) AS 学生总数,SUM(score) AS 总分数FROMstudentsWHEREgender = '男' OR gender = '女'GROUP BYgenderWITH ROLLUP;

该查询将按照性别分组计算平均分和最高分,并统计学生总数和总分数。其中,GROUP BY子句指定按照gender列分组,WITH ROLLUP子句指定在结果集中添加小计行和总计行。

另外,COUNT()函数可以用于统计指定列不同值的行数。例如,我们可以用COUNT(DISTINCT age)来统计不同年龄的学生数:

SELECT COUNT(DISTINCT age) FROM students;

最后一个函数是GROUP_CONCAT(),它可以返回指定列的所有值,以逗号分隔。例如,我们可以用GROUP_CONCAT(name)来列出所有学生的姓名:

SELECT GROUP_CONCAT(name) FROM students;

总之,MySQL的聚合函数大大简化了数据处理和分析的过程,使我们能够更快捷地了解数据的特点和规律。掌握这些函数的用法对于日常工作和学习都非常有帮助。

声明:关于《MySQL的七个聚合函数》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/tutorial/14_2247168.html