MySQL常用的聚合函数(比较常用滴~)

① 常用的聚合函数

count(col): 表示求指定列的总行数

max(col): 表示求指定列的最大值

min(col): 表示求指定列的最小值

sum(col): 表示求指定列的和

avg(col): 表示求指定列的平均值

② 求总行数

-- 返回非NULL数据的总行数

sql 复制代码
select count(height) from students;

-- 返回总行数,包含null值记录

sql 复制代码
select count(*) from students;

③ 求最大值

-- 查询女生的编号最大值

sql 复制代码
select max(id) from students where gender = 2;

④ 求最小值

-- 查询未删除的学生最小编号

sql 复制代码
select min(id) from students where is_delete = 0;

⑤ 求和

-- 查询男生的总身高

sql 复制代码
select sum(height) from students where gender = 1;

-- 平均身高

sql 复制代码
select sum(height) / count(*) from students where gender = 1;

⑥ 求平均值

-- 求男生的平均身高, 聚合函数不统计null值,平均身高有误

sql 复制代码
select avg(height) from students where gender = 1;

-- 求男生的平均身高, 包含身高是null的

sql 复制代码
select avg(ifnull(height,0)) from students where gender = 1;

说明:ifnull函数:表示判断指定字段的值是否为null,如果为空使用自己提供的值

-----聚合函数的特点-----

聚合函数默认忽略字段为null的记录 要想列值为null的记录也参与计算,必须使用ifnull函数对null值做替换(详情请看第⑥的第二个例子即可,就在上面一点)

相关推荐
iuvtsrt1 分钟前
SQL如何高效提取大表前几行:分页查询与OFFSET优化
jvm·数据库·python
Royzst3 分钟前
学生信息管理案例
java
爱棋笑谦5 分钟前
单元测试简述
java
彳亍10111 分钟前
如何用 Dask 替代 Pandas 实现高效 Excel 数据处理
jvm·数据库·python
音符犹如代码12 分钟前
Docker 一键部署带有 TimescaleDB 插件的 PostgreSQL
java·运维·数据库·后端·docker·postgresql·容器
程序leo源15 分钟前
Qt信号与槽深度详解
c语言·开发语言·数据库·c++·qt·c#
2301_7838486517 分钟前
c++怎么把多个变量一次性写入二进制文件_结构体对齐与write【实战】
jvm·数据库·python
wang3zc24 分钟前
如何在 WooCommerce 后台按订单总金额精准筛选订单
jvm·数据库·python
sleepcattt24 分钟前
Java反射技术
java
小锋java123425 分钟前
【技术专题】Spring AI 2.0 - Advisors —— 拦截器模式增强AI能力
java·人工智能