MySQL_合计/统计函数

统计函数 --Count返回行的总数

sql 复制代码
#演示Mysql统计函数的使用
#统计一个班级中有多少个学生
SELECT COUNT(*) FROM student;

#统计数学成绩 > 90的学生有多少个
SELECT COUNT(*) FROM student WHERE math > 90;

#统计总分大于250的人数有多少
SELECT COUNT(*) FROM student WHERE (math + chinese + english) > 250;

count(*)和count(列)的区别:

count(*)返回满足条件的记录的总行数,count(列)统计满足条件的某列有多少个,但是会排除为null的情况

sql 复制代码
CREATE TABLE t15(`name` VARCHAR(20));
INSERT INTO t15 VALUES('tom');
INSERT INTO t15 VALUES('jack');
INSERT INTO t15 VALUES('mary');
INSERT INTO t15 VALUES(NULL);

SELECT COUNT(*) FROM t15	-- 4
SELECT COUNT(NAME) FROM t15	-- 3 排除了null的情况

合计函数 --Sum返回满足where条件的行的和,一般使用在数值列

sql 复制代码
#演示sum函数的使用
#统计一个班数学总成绩
SELECT SUM(math) FROM student;

#统计一个班语文,英语,数学各科的总成绩
SELECT SUM(chinese),SUM(math),SUM(english) FROM student;

#统计一个班级语文,英语,数学的成绩总和
SELECT SUM(chinese + math + english) FROM student;

#统计一个班级语文成绩平均分
SELECT SUM(chinese) / COUNT(*) FROM student;

注意:sum仅对数值起作用,其他类型无意义 ; 对多列求和需要加上" , "号

合计函数 --avg

sql 复制代码
#演示avg的使用
#求一个班级数学平均分
SELECT AVG(math) FROM student;
#求一个班级总分平均分
SELECT AVG(math + chinese + english) FROM student;

合计函数 --Max/min返回满足where条件的一列最大/最小值

sql 复制代码
#演示max和min的使用
#求班级最高分和最低分
SELECT MAX(math + english + chinese),MIN(math + english + chinese) FROM student;
相关推荐
小短腿的代码世界20 分钟前
Qt国际化深度解析:从源码到企业级多语言实践
java·数据库·qt
Ting-yu25 分钟前
Spring AI Alibaba零基础速成(6) ---- 向量化
数据库·人工智能
dishugj41 分钟前
HANA性能分析视图
数据库
l1t1 小时前
DeepSeek总结的在 DuckDB 中试驾 Lance 数据湖仓格式
数据库·人工智能·机器学习·duckdb
PaperData2 小时前
2017-2025年中国10米分辨率土地利用/覆盖栅格数据(from Esri LULC)
数据库·数据分析·学习方法
小二·2 小时前
LangGraph 多智能体实战:从零搭建 Multi-Agent 协作系统
java·开发语言·数据库
羑悻的小杀马特2 小时前
工业时序数据选型的几点思考:从存储成本与查询延迟说起
数据库·人工智能
小旭95272 小时前
商品详情实现与缓存问题(穿透、击穿、雪崩)解决方案
java·数据库·spring boot·后端·缓存
我本楚狂人www3 小时前
Spring 两大核心思想(一):IoC
java·数据库·spring
熊文豪3 小时前
标量子查询消除:一次让查询性能提升千倍的优化器手术
数据库·电科金仓