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;
相关推荐
火山上的企鹅4 小时前
Codex实战:APP远程升级服务搭建(三)后台管理页面(APK 上传、版本管理、多应用页签)
服务器·网络·数据库·oracle·qgc
阿狸猿5 小时前
论 NoSQL 数据库技术及其应用
数据库·nosql
FBI HackerHarry浩5 小时前
DataGrip2023.2.3默认保存的数据库和.sql文件在哪里?怎么修改默认路径?
数据库
袁小皮皮不皮5 小时前
3.HCIP OSPF补充知识(优化版)
服务器·网络·数据库·网络协议·智能路由器
运筹vivo@5 小时前
Python ContextVar 底层机制与内存模型拆解
前端·数据库·python
志栋智能5 小时前
超自动化巡检:知识沉淀与团队协作的新载体
大数据·运维·网络·数据库·人工智能·自动化
syt_biancheng6 小时前
Redis初识
数据库·redis·缓存
cmes_love6 小时前
股票逐笔level2历史行情下载十档订单薄五档tick分钟下载分享
数据库·区块链
仙俊红6 小时前
SQL 调优需要掌握的知识
数据库·sql
fofantasy7 小时前
NSK LH12AN 微型导轨技术手册
运维·网络·数据库·经验分享·规格说明书