当前位置: 首页 > article >正文

Mysql 02:集合函数(聚合函数)查询全解——COUNT/SUM/AVG/MAX/MIN 实战指南

在 MySQL 中集合函数也叫聚合函数是对一组数据进行统计计算的核心工具常用于数据汇总、报表生成、分组统计等场景。本文将围绕图片中的 5 大核心集合函数从语法、用法、代码示例三个维度带你彻底掌握 MySQL 聚合查询。一、核心集合函数总览函数名功能适用场景注意事项COUNT()统计行数 / 非空值数量统计记录数、去重计数COUNT(*)统计所有行COUNT(字段)忽略 NULLSUM()对数值型字段求和计算总分、总销售额仅支持数值类型自动忽略 NULLAVG()计算数值型字段平均值计算平均分、平均工资仅支持数值类型自动忽略 NULLMAX()求字段最大值最高分、最高销售额支持数值、字符串、日期类型MIN()求字段最小值最低分、最低销售额支持数值、字符串、日期类型二、各函数详解 代码示例准备测试数据先创建一张学生成绩表student_score用于后续所有示例-- 创建表 CREATE TABLE student_score ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20) NOT NULL, subject VARCHAR(20) NOT NULL, score INT, class VARCHAR(10) NOT NULL ); -- 插入测试数据含 NULL 用于演示 COUNT 特性 INSERT INTO student_score (name, subject, score, class) VALUES (张三, 语文, 85, 一班), (张三, 数学, 92, 一班), (李四, 语文, 78, 二班), (李四, 数学, 88, 二班), (王五, 语文, 95, 一班), (赵六, 英语, NULL, 三班), -- 成绩为 NULL (孙七, 数学, 55, 三班);1.COUNT()统计行数 / 非空值核心用法COUNT(*)统计所有行数包含 NULL 行COUNT(字段)统计字段非空的行数自动忽略 NULLCOUNT(DISTINCT 字段)统计去重后的非空值数量代码示例-- 1. 统计总记录数包含 NULL 行 SELECT COUNT(*) AS 总记录数 FROM student_score; -- 2. 统计成绩非空的记录数忽略赵六的 NULL 成绩 SELECT COUNT(score) AS 有效成绩数 FROM student_score; -- 3. 统计去重后的班级数量 SELECT COUNT(DISTINCT class) AS 班级数量 FROM student_score;运行结果总记录数7有效成绩数6班级数量3说明COUNT(*)会统计表中所有 7 条记录包括赵六的 NULL 行COUNT(score)只统计 6 条非空成绩自动忽略 NULLCOUNT(DISTINCT class)统计 3 个不重复的班级一班、二班、三班2.SUM()数值求和核心用法SUM(字段)对指定数值字段求和自动忽略 NULL仅支持数值类型INT、FLOAT、DECIMAL 等非数值类型结果为 0代码示例-- 1. 统计所有学生的成绩总和 SELECT SUM(score) AS 成绩总和 FROM student_score; -- 2. 按班级分组统计每个班的成绩总和 SELECT class, SUM(score) AS 班级总分 FROM student_score GROUP BY class; -- 3. 统计张三的个人总分 SELECT SUM(score) AS 张三总分 FROM student_score WHERE name 张三;运行结果成绩总和493class班级总分一班272二班166三班55张三总分177说明自动忽略赵六的 NULL 成绩仅对 6 个有效分数求和可配合GROUP BY实现分组统计是报表统计的核心用法3.AVG()求平均值核心用法AVG(字段)计算数值字段的平均值自动忽略 NULL等价于SUM(字段) / COUNT(字段)代码示例-- 1. 计算所有有效成绩的平均分 SELECT AVG(score) AS 整体平均分 FROM student_score; -- 2. 按班级分组计算每个班的平均分 SELECT class, AVG(score) AS 班级平均分 FROM student_score GROUP BY class; -- 3. 计算张三的平均分 SELECT AVG(score) AS 张三平均分 FROM student_score WHERE name 张三;运行结果整体平均分82.1667class班级平均分一班90.6667二班83.0000三班55.0000张三平均分88.5000说明自动忽略 NULL整体平均分 493 / 6 ≈ 82.17可配合ROUND()保留小数ROUND(AVG(score), 2)保留 2 位小数4.MAX()求最大值核心用法MAX(字段)求字段的最大值支持数值、字符串、日期类型数值按大小比较字符串按字典序比较日期按时间先后比较越晚越大代码示例-- 1. 求所有成绩中的最高分 SELECT MAX(score) AS 最高分 FROM student_score; -- 2. 按班级分组求每个班的最高分 SELECT class, MAX(score) AS 班级最高分 FROM student_score GROUP BY class; -- 3. 求字符串最大值按字典序赵六 张三 SELECT MAX(name) AS 姓名最大值 FROM student_score;运行结果最高分95class班级最高分一班95二班88三班55姓名最大值赵六5.MIN()求最小值核心用法MIN(字段)求字段的最小值支持类型与MAX()完全一致逻辑相反代码示例-- 1. 求所有成绩中的最低分 SELECT MIN(score) AS 最低分 FROM student_score; -- 2. 按班级分组求每个班的最低分 SELECT class, MIN(score) AS 班级最低分 FROM student_score GROUP BY class; -- 3. 求字符串最小值按字典序李四 张三 SELECT MIN(name) AS 姓名最小值 FROM student_score;运行结果最低分55class班级最低分一班85二班78三班55姓名最小值李四三、集合函数核心注意事项1. NULL 处理规则所有聚合函数自动忽略 NULL 值除COUNT(*)外若字段全为 NULLSUM()/AVG()结果为 NULLCOUNT()结果为 02.WHERE与HAVING的区别WHERE在分组前过滤行不能使用聚合函数HAVING在分组后过滤分组结果必须配合GROUP BY使用可使用聚合函数错误示例WHERE 用聚合函数-- 错误WHERE 不能用聚合函数 SELECT class, AVG(score) FROM student_score WHERE AVG(score) 80 GROUP BY class;正确示例HAVING 过滤分组-- 正确HAVING 过滤分组后的数据 SELECT class, AVG(score) AS 平均分 FROM student_score GROUP BY class HAVING AVG(score) 80;3. 分组查询的字段限制使用GROUP BY分组后SELECT后只能跟分组字段和聚合函数否则报错错误示例-- 错误name 不是分组字段也不是聚合函数 SELECT name, AVG(score) FROM student_score GROUP BY class;四、综合实战多函数组合查询-- 需求按班级分组统计每个班的人数、总分、平均分、最高分、最低分 SELECT class AS 班级, COUNT(*) AS 班级人数, SUM(score) AS 班级总分, ROUND(AVG(score), 2) AS 班级平均分, MAX(score) AS 班级最高分, MIN(score) AS 班级最低分 FROM student_score GROUP BY class ORDER BY 班级平均分 DESC;运行结果班级班级人数班级总分班级平均分班级最高分班级最低分一班327290.679585二班216683.008878三班25555.005555五、核心总结5 大核心函数COUNT计数、SUM求和、AVG平均、MAX最大、MIN最小NULL 处理除COUNT(*)外所有函数自动忽略 NULL分组配合聚合函数常与GROUP BY搭配实现分组统计过滤规则WHERE过滤行HAVING过滤分组不可混用适用场景报表统计、数据汇总、业务分析、面试高频考点

相关文章:

Mysql 02:集合函数(聚合函数)查询全解——COUNT/SUM/AVG/MAX/MIN 实战指南

在 MySQL 中,集合函数(也叫聚合函数) 是对一组数据进行统计计算的核心工具,常用于数据汇总、报表生成、分组统计等场景。本文将围绕图片中的 5 大核心集合函数,从语法、用法、代码示例三个维度,带你彻底掌握…...

千问3.5-27B多模态入门:图片理解支持mask区域聚焦,如‘只分析左上角区域’

千问3.5-27B多模态入门:图片理解支持mask区域聚焦,如‘只分析左上角区域’ 你是不是遇到过这种情况:给AI看一张复杂的图片,比如一张满是商品的货架,你只想让它分析左上角那个红色包装的零食,但它却把整张图…...

生成式AI系统“内容生成”合规:架构师如何避免“虚假信息”?附4个方法

生成式AI内容生成合规指南:架构师如何系统性规避虚假信息? 元数据框架 标题 生成式AI内容生成合规指南:架构师如何系统性规避虚假信息?——从理论到实践的4大核心策略 关键词 生成式AI合规, 虚假信息防范, 事实一致性, 架构设计, …...

让ai当你的git导师:用快马开发智能github问答与代码生成助手

最近在尝试学习GitHub的使用时,发现很多操作命令记不住,尤其是遇到合并冲突或者需要回退版本的时候,总是要反复查文档。于是我想,能不能做一个AI助手来帮忙?经过在InsCode(快马)平台上的一番折腾,还真做出了…...

新手福音:在快马用ai生成你的第一个notepad编程入门项目

作为一个刚接触编程的新手,我完全理解那种面对空白编辑器时的迷茫感。还记得第一次想用Notepad写代码时,光是下载安装就折腾了半天。今天分享一个超实用的方法,用InsCode(快马)平台就能一键生成完整的入门指南,把下载、安装、写第…...

PROJECT MOGFACE自动化办公助手:集成Python脚本处理Excel与生成报告

PROJECT MOGFACE自动化办公助手:告别重复劳动,让报告自己“写”自己 你是不是也受够了每周、每月那些格式固定的数据报告?从一堆Excel表格里复制粘贴数据,再绞尽脑汁组织语言,最后排版成一份像样的文档。这个过程枯燥…...

RWKV7-1.5B-g1a部署教程:CSDN平台外网域名(gpu-guyeohq1so-7860)配置要点

RWKV7-1.5B-g1a部署教程:CSDN平台外网域名(gpu-guyeohq1so-7860)配置要点 1. 模型简介 rwkv7-1.5B-g1a是基于RWKV-7架构的多语言文本生成模型,特别适合以下应用场景: 基础问答文案续写简短总结轻量中文对话 2. 环境…...

Qwen2.5-14B-Instruct开源大模型实战:像素剧本圣殿8-Bit UI部署详解

Qwen2.5-14B-Instruct开源大模型实战:像素剧本圣殿8-Bit UI部署详解 1. 项目概览 像素剧本圣殿(Pixel Script Temple)是一款基于Qwen2.5-14B-Instruct大模型深度微调的专业剧本创作工具。这个独特的创作环境将强大的AI推理能力与复古8-Bit视…...

使用Tableau Public

一、实验准备 官网:探索 | Tableau Public 二、实验步骤 (一)数据获取与导入 打开 Tableau Public,点击左侧 **“获取数据”** → 选择 **“示例数据集”**。在示例数据集列表中选个顺眼的。数据加载后,在左侧 “数…...

AXOrderBook:解密A股订单簿重建与FPGA硬件加速的深度技术方案

AXOrderBook:解密A股订单簿重建与FPGA硬件加速的深度技术方案 【免费下载链接】AXOrderBook A股订单簿工具,使用逐笔行情进行订单簿重建、千档快照发布、各档委托队列展示等,包括python模型和FPGA HLS实现。 项目地址: https://gitcode.com…...

如何快速突破iOS限制:终极降级完全手册

如何快速突破iOS限制:终极降级完全手册 【免费下载链接】downr1n downgrade tethered checkm8 idevices ios 14, 15. 项目地址: https://gitcode.com/gh_mirrors/do/downr1n 你是否曾想过让旧款iPhone重获新生?是否对苹果系统的版本限制感到困扰&…...

别再只用Whisper了!WhisperX + Python 实战:如何为3分钟视频批量ASR搭建高效处理流水线

WhisperX Python 实战:构建高吞吐量语音识别流水线的工程实践 在音视频内容爆炸式增长的时代,语音识别技术已成为内容生产、知识管理、数字营销等领域的基础设施。当处理规模从单个文件扩展到数百小时的音视频素材时,传统单次处理模式显露出…...

【喜报】义翘神州再获CNAS认可,全面对标2025版药典新标准

义翘神州生物安全检测实验室近日成功通过中国合格评定国家认可委员会(CNAS)的扩项评审及定期监督评审,并已完成全部能力附表更新!这标志着实验室技术能力与质量管理体系持续符合ISO/IEC 17025:2017国际标准的严苛要求,…...

别再只用labelme了!用ENVI 5.3的ROI工具给遥感影像打标签,效率翻倍

遥感影像标注革命:ENVI 5.3 ROI工具如何让深度学习标签制作效率提升300% 当无人机航拍的高清影像铺满整个屏幕,标注员的手指在鼠标和键盘间机械重复着点击、拖拽、保存的动作——这是许多刚接触遥感影像深度学习的研究者再熟悉不过的场景。传统标注工具在…...

基于Ascend 950的Cube编程

直播回放链接:基于下一代硬件的Cube编程_哔哩哔哩_bilibili...

【实验原理深度解析】弗兰克-赫兹实验:如何用电子“碰撞”揭示原子能级的秘密

1. 电子与原子的"对话":弗兰克-赫兹实验的设计哲学 想象你站在一个漆黑的房间里,向对面墙壁投掷网球。如果墙壁是实心的,球会直接弹回;但如果墙上有一排高度不同的窗口,球只有达到特定速度才能穿过对应高度的…...

设计标注工具:解决团队协作痛点的高效解决方案

设计标注工具:解决团队协作痛点的高效解决方案 【免费下载链接】sketch-measure Make it a fun to create spec for developers and teammates 项目地址: https://gitcode.com/gh_mirrors/sk/sketch-measure 设计标注是连接设计与开发的重要环节,…...

企业级低代码平台JeecgBoot全攻略:从零基础到实战应用

企业级低代码平台JeecgBoot全攻略:从零基础到实战应用 【免费下载链接】jeecg-boot 一款 AI 驱动的低代码平台,提供"零代码"与"代码生成"双模式——零代码模式一句话搭建系统,代码生成模式自动输出前后端代码与建表 SQL&…...

深入解析RK3576 Android14中camera3_profiles_rkxxxx.xml的自定义数据格式支持

1. RK3576 Android14相机配置文件的秘密 最近在调试RK3576平台的相机模块时,遇到了一个棘手的问题:需要为定制摄像头添加特殊数据格式。当我打开camera3_profiles_rkxxxx.xml文件时,发现它只支持BLOB、YCbCr_420_888和IMPLEMENTATION_DEFINED…...

Raspberry Pi Imager:树莓派系统安装的终极解决方案

Raspberry Pi Imager:树莓派系统安装的终极解决方案 【免费下载链接】rpi-imager The home of Raspberry Pi Imager, a user-friendly tool for creating bootable media for Raspberry Pi devices. 项目地址: https://gitcode.com/gh_mirrors/rp/rpi-imager …...

Shell脚本编程与自动化运维了解006

一、Shell脚本基础1.1 Bash脚本概述Shell脚本是一种解释型编程语言,用于自动化Linux系统管理任务。Bash(Bourne Again SHell)是Linux系统中最常用的Shell解释器。脚本基本结构图#!/bin/bash # 这是一个注释 echo "Hello, World!"关…...

别再乱删C盘大文件了!一文搞懂pagefile.sys和hiberfil.sys的正确处理姿势

别再乱删C盘大文件了!一文搞懂pagefile.sys和hiberfil.sys的正确处理姿势 每次打开资源管理器看到C盘飘红,是不是总想找几个"大块头"开刀?先别急着对pagefile.sys和hiberfil.sys下手——这两个看似占空间的系统文件,其实…...

X-AnyLabeling实战指南:AI驱动的智能数据标注工具深度解析

X-AnyLabeling实战指南:AI驱动的智能数据标注工具深度解析 【免费下载链接】X-AnyLabeling Effortless data labeling with AI support from Segment Anything and other awesome models. 项目地址: https://gitcode.com/gh_mirrors/xa/X-AnyLabeling X-AnyL…...

跨设备追番终极指南:3步配置Kazumi WebDAV数据同步

跨设备追番终极指南:3步配置Kazumi WebDAV数据同步 【免费下载链接】Kazumi 基于自定义规则的番剧采集APP,支持流媒体在线观看,支持弹幕,支持实时超分辨率。 项目地址: https://gitcode.com/gh_mirrors/ka/Kazumi 还在为手…...

OpenCore Legacy Patcher完整指南:四步让老旧Mac免费升级最新macOS

OpenCore Legacy Patcher完整指南:四步让老旧Mac免费升级最新macOS 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 还在为苹果官方停止支持的老旧…...

壁仞科技上市后首次年报:2025年营收10亿 经调整亏损8.7亿

雷递网 雷建平 3月30日上海壁仞科技股份有限公司(股份代号:6082)今日发布截至2025年12月31日的财报。财报显示,壁仞科技2025年营收为10.35亿元,较上年同期的3.37亿元增长207.2%。壁仞科技2025年毛利为5.57亿元&#xf…...

5步高效使用小说下载工具:零基础也能掌握的开源项目全攻略

5步高效使用小说下载工具:零基础也能掌握的开源项目全攻略 【免费下载链接】novel-downloader 一个可扩展的通用型小说下载器。 项目地址: https://gitcode.com/gh_mirrors/no/novel-downloader 在数字阅读时代,拥有一款可靠的小说下载工具能让你…...

[高级配置]:解决Insyde BIOS隐藏选项访问难题的开源工具技术指南

[高级配置]:解决Insyde BIOS隐藏选项访问难题的开源工具技术指南 【免费下载链接】LEGION_Y7000Series_Insyde_Advanced_Settings_Tools 支持一键修改 Insyde BIOS 隐藏选项的小工具,例如关闭CFG LOCK、修改DVMT等等 项目地址: https://gitcode.com/gh…...

《跨摄像机追踪的终局:镜像视界空间计算方案深度解析》——从“识别与匹配”走向“空间计算与连续存在”的最终形态

跨摄像机追踪的终局:镜像视界空间计算方案深度解析——从“识别与匹配”走向“空间计算与连续存在”的最终形态发布单位:镜像视界(浙江)科技有限公司一、问题终局:跨摄像机追踪到底要解决什么?在过去十年中…...

Windows Cleaner:开源磁盘清理工具的全方位解决方案

Windows Cleaner:开源磁盘清理工具的全方位解决方案 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服! 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 在数字工作环境中,磁盘空间不足已成为…...