SQL 聚合函数

前言

SQL中的聚合函数是对一组值执行计算,并返回单个值的函数。

常用的聚合函数有:

函数 作用
AVG() 求平均值
MAX() 求最大值
MIN() 求最小值
SUM() 求和
COUNT() 计数

AVG()

求数值列的平均值。

具体计算过程:其通过对表中行数计数并计算特定数值列的列值之和,求得该列的平均值。

语法:

sql 复制代码
SELECT AVG(`column_name`) 
FROM `table_name`;

当参数 column_name 列中的数据均为空时,结果会返回 NULL。


MAX()

返回指定列中的最大值。

语法:

sql 复制代码
SELECT MAX(`column_name`) 
FROM `table_name`;

当参数 column_name 列中的数据均为空时,结果会返回 NULL。


MIN()

返回指定列中的最小值。

语法

sql 复制代码
SELECT MIN(`column_name`) 
FROM `table_name`;

当参数 column_name 列中的数据均为空时,结果会返回 NULL。


SUM()

统计数值列的总数并返回其值。

语法

sql 复制代码
SELECT SUM(`column_name`) 
FROM `table_name`;

当参数 column_name 列中的数据均为空时,结果会返回 NULL。


COUNT()

COUNT() 函数用于计数,可利用其确定表中行的数目或者符合特定条件的行的数目。当COUNT() 中的参数不同时,其的用途也是有明显的不同的,主要可分为以下三种情况:

  • COUNT(column_name): 用于计算表中指定列的非空值的数量。
  • COUNT(*):用于计算表中所有行的数量,包括空值和非空值。
  • COUNT(DISTINCT column_name) :用于计算表中指定列的不同值的数量。

❗ 注意: COUNT(column_name) 与 COUNT(*) 的区别

  • COUNT(column_name) 中,如果 column_name 字段中的值为 NULL,则计数不会增加,而如果字段值为空字符串"",则字段值会加 1

  • COUNT(*) 中,除非整个记录全为 NULL,则计数不会增加,如果存在某一个记录不为 NULL,或者为空字符串"",计数值都会加 1。

相关推荐
A-刘晨阳3 小时前
金仓时序数据库:以高效压缩、快速写入与时序优化,破解工业海量数据管理难题
数据库·时序数据库
2603_965148113 小时前
终极清单:构建自动化选品比价系统的所有组件与资源
大数据·运维·数据库·数据挖掘·自动化
打工仔折腾 AI4 小时前
SQL 编辑器不是高级记事本:KStudio 与 KSQL Developer 的建表与增删改查手法
数据库·人工智能·后端·python·sql·编辑器·ai agent 实战
CNSSIRD数据库4 小时前
中国省地县乡四级行政建制及区划代码-2025年版
大数据·数据库·数据分析·论文笔记
for_ever_love__4 小时前
LangGraph Checkpointer:持久化、断点续跑与多轮记忆
服务器·数据库·学习·持久化·langgraph·checkpointer·断点续跑
Data analyse4564 小时前
用户路径SQL按会话起止时间聚合的方法
大数据·服务器·前端·数据库·人工智能·sql·数据分析
Lhan.zzZ4 小时前
Linux + Qt/QML:解决 QtQuick.VirtualKeyboard.Plugins 模块加载失败与环境变量配置
linux·数据库·qt
大圣编蚕4 小时前
Redis 为什么快?现在还是单线程吗?
数据库·redis·缓存
鸥梨菌Honevid4 小时前
UVM 面试高频:uvm_test_top 与 uvm_config_db 路径机制全解析
数据库·面试·职场和发展
极小狐4 小时前
MR 里测试摘要空白、覆盖率不显示?JUnit 与覆盖率配置 9 步排查
数据库·ci/cd·junit·单元测试·mr·devops·代码覆盖率