MySQL GROUP BY 语句

发布时间:2026/7/16 8:19:56

MySQL GROUP BY 语句
GROUP BY 语句根据一个或多个列对结果集进行分组。在分组的列上我们可以使用 COUNT, SUM, AVG,等函数。GROUP BY 语法SELECT column_name, function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name;实例演示本章节实例使用到了以下表结构及数据使用前我们可以先将以下数据导入数据库中。SET NAMES utf8; SET FOREIGN_KEY_CHECKS 0; -- ---------------------------- -- Table structure for employee_tbl -- ---------------------------- DROP TABLE IF EXISTS employee_tbl; CREATE TABLE employee_tbl ( id int(11) NOT NULL, name char(10) NOT NULL DEFAULT , date datetime NOT NULL, singin tinyint(4) NOT NULL DEFAULT 0 COMMENT 登录次数, PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8; -- ---------------------------- -- Records of employee_tbl -- ---------------------------- BEGIN; INSERT INTO employee_tbl VALUES (1, 小明, 2016-04-22 15:25:33, 1), (2, 小王, 2016-04-20 15:25:47, 3), (3, 小丽, 2016-04-19 15:26:02, 2), (4, 小王, 2016-04-07 15:26:14, 4), (5, 小明, 2016-04-11 15:26:40, 4), (6, 小明, 2016-04-04 15:26:54, 2); COMMIT; SET FOREIGN_KEY_CHECKS 1;导入成功后执行以下 SQL 语句mysql set names utf8; mysql SELECT * FROM employee_tbl; ----------------------------------------- | id | name | date | singin | ----------------------------------------- | 1 | 小明 | 2016-04-22 15:25:33 | 1 | | 2 | 小王 | 2016-04-20 15:25:47 | 3 | | 3 | 小丽 | 2016-04-19 15:26:02 | 2 | | 4 | 小王 | 2016-04-07 15:26:14 | 4 | | 5 | 小明 | 2016-04-11 15:26:40 | 4 | | 6 | 小明 | 2016-04-04 15:26:54 | 2 | ----------------------------------------- 6 rows in set (0.00 sec)接下来我们使用 GROUP BY 语句 将数据表按名字进行分组并统计每个人有多少条记录mysql SELECT name, COUNT(*) FROM employee_tbl GROUP BY name; ------------------ | name | COUNT(*) | ------------------ | 小丽 | 1 | | 小明 | 3 | | 小王 | 2 | ------------------ 3 rows in set (0.01 sec)使用 WITH ROLLUPWITH ROLLUP 可以实现在分组统计数据基础上再进行相同的统计SUM,AVG,COUNT…。例如我们将以上的数据表按名字进行分组再统计每个人登录的次数mysql SELECT name, SUM(singin) as singin_count FROM employee_tbl GROUP BY name WITH ROLLUP; ---------------------- | name | singin_count | ---------------------- | 小丽 | 2 | | 小明 | 7 | | 小王 | 7 | | NULL | 16 | ---------------------- 4 rows in set (0.00 sec)其中记录 NULL 表示所有人的登录次数。我们可以使用 coalesce 来设置一个可以取代 NUll 的名称coalesce 语法select coalesce(a,b,c);参数说明如果anull,则选择b如果bnull,则选择c如果a!null,则选择a如果a b c 都为null 则返回为null没意义。以下实例中如果名字为空我们使用总数代替mysql SELECT coalesce(name, 总数), SUM(singin) as singin_count FROM employee_tbl GROUP BY name WITH ROLLUP; ---------------------------------------- | coalesce(name, 总数) | singin_count | ---------------------------------------- | 小丽 | 2 | | 小明 | 7 | | 小王 | 7 | | 总数 | 16 | ---------------------------------------- 4 rows in set (0.01 sec)MySQL 排序Mysql 连接的使用1、group by 可以实现一个最简单的去重查询假设想看下有哪些员工除了用 distinct,还可以用SELECT name FROM employee_tbl GROUP BY name;返回的结果集就是所有员工的名字。2、分组后的条件使用 HAVING 来限定WHERE 是对原始数据进行条件限制。几个关键字的使用顺序为 where 、group by 、having、order by 例如SELECT name ,sum(*) FROM employee_tbl WHERE id1 GROUP BY name HAVING sum(*)5 ORDER BY sum(*) DESC;

相关新闻

OpenAI Banked Reset机制解析:GPT-5.6 Sol下的额度管理新策略

OpenAI Banked Reset机制解析:GPT-5.6 Sol下的额度管理新策略

2026/7/16 8:19:56

ChatGPT Work和Codex作为OpenAI面向开发者和企业用户的核心产品,近期迎来了700万活跃用户的重要里程碑。这一增长与GPT-5.6 Sol模型的发布密切相关,该模型强大的推理能力导致用户额度消耗速度显著加快,使得额度管理成为用户关注的焦点。OpenA…

从CEB查看器源码解析C++文件格式处理与图形渲染实战

从CEB查看器源码解析C++文件格式处理与图形渲染实战

2026/7/16 7:59:50

1. 项目概述:从一份RAR压缩包到C源码的深度探索 最近在整理一个老项目的资料库时,翻出了一个名为“CEBViewer.rar”的压缩包。对于很多刚接触文档处理或者从事特定行业(如出版、档案数字化)的朋友来说,CEB格式可能有些…

MiMo-V2.5-DFlash:基于Block Diffusion的文本生成加速技术解析

MiMo-V2.5-DFlash:基于Block Diffusion的文本生成加速技术解析

2026/7/16 7:59:50

1. 先搞清楚 MiMo-V2.5-DFlash 到底解决了什么实际问题如果你正在处理长文本生成任务,特别是代码生成、文档编写这类需要保持上下文一致性的场景,最头疼的往往是生成速度。传统自回归模型一个个 token 往外蹦,6K 长度的文本可能得等上几分钟。…

惠普电脑原厂系统安装与优化全指南

惠普电脑原厂系统安装与优化全指南

2026/7/17 1:21:00

1. 惠普电脑原厂系统安装全攻略惠普暗影精灵、光影精灵和星系列笔记本电脑出厂时都预装了正版Windows系统及专属优化驱动,但很多用户在使用过程中会遇到系统崩溃、运行缓慢或误删系统文件的情况。不同于普通Windows安装,原厂预装版系统包含了针对特定机型…

游戏模组制作解析:从资源替换到机制融合的技术实践

游戏模组制作解析:从资源替换到机制融合的技术实践

2026/7/17 1:21:00

在实际游戏开发或玩家社区中,经常会遇到一些由爱好者或社区开发者制作的游戏模组(Mod)。这些模组往往在原版游戏的基础上,融合了新的角色、关卡、机制或美术资源,为玩家带来全新的体验。本文将以一个社区热议的《植物大…

Windows 8.1安装与优化全指南

Windows 8.1安装与优化全指南

2026/7/17 1:21:00

1. 项目概述:Windows 8.1安装全流程解析2014年发布的Windows 8.1作为微软承前启后的操作系统,其安装过程与后续配置对系统稳定性影响深远。这个教程将带您完整复现当年的安装场景,特别针对当前用户最关心的更新管理问题提供解决方案。不同于简…

Windows系统日志SrtTrail.txt解析与故障排查指南

Windows系统日志SrtTrail.txt解析与故障排查指南

2026/7/17 1:21:00

1. 文件路径解析:Windows系统日志的隐秘角落当你的Windows系统突然蓝屏或意外重启后,是否好奇过操作系统如何记录这些故障信息?在C:\WINDOWS\System32\Logfiles\Srt\路径下,有一个名为SrtTrail.txt的日志文件,它就像系…

Windows平台Dolby Atmos永久激活与音效优化指南

Windows平台Dolby Atmos永久激活与音效优化指南

2026/7/17 1:21:00

1. 杜比全景声(Dolby Atmos)技术解析杜比全景声是近年来音频技术领域的重要突破,它彻底改变了传统环绕声的平面声场概念。与传统的5.1或7.1声道系统不同,Atmos引入了"音频对象"的概念,允许声音工程师将特定音…

UWB室内厘米级定位MATLAB全流程实现:从原始测距到融合定位与精度评估

UWB室内厘米级定位MATLAB全流程实现:从原始测距到融合定位与精度评估

2026/7/17 1:10:59

本文还有配套的精品资源,点击获取 简介:这套MATLAB代码包完整复现UWB室内高精度定位的整个技术链路,直接处理原始UWB测距数据,支持视距(LOS)识别、测距参数标定、多基站三角定位(含两种解算方…

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

2026/7/16 0:35:09

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator XUnity.AutoTranslator作为Unity游戏社区中最成熟的文本翻译解决方…

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

2026/7/16 14:29:31

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持 【免费下载链接】raspberrypi-kernel It provides openEuler kernel source for Raspberry Pi 项目地址: https://gitcode.com/openeuler/raspberrypi-kernel 前往项目官网免费下载&…

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

2026/7/16 14:18:17

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧 【免费下载链接】integration-test The repo contains test suits for system integration test 项目地址: https://gitcode.com/openeuler/integration-test 前往项目官网免费下载:…

Cursor终端插件生态避坑指南:23个实测低效插件黑名单,附3个自研轻量替代方案

Cursor终端插件生态避坑指南:23个实测低效插件黑名单,附3个自研轻量替代方案

2026/7/17 0:00:57

更多请点击: https://intelliparadigm.com 第一章:Cursor终端插件生态避坑指南概览 Cursor 作为基于 VS Code 内核构建的 AI 原生编辑器,其终端插件生态虽活跃,但存在兼容性断层、权限策略突变与调试链路断裂等典型风险。开发者常…

ChatGPT写作提示词效率革命:单条提示词响应质量提升3.8倍的关键变量(附可复用提示词矩阵表)

ChatGPT写作提示词效率革命:单条提示词响应质量提升3.8倍的关键变量(附可复用提示词矩阵表)

2026/7/17 0:00:57

更多请点击: https://codechina.net 第一章:ChatGPT写作提示词效率革命:单条提示词响应质量提升3.8倍的关键变量(附可复用提示词矩阵表) 提示词工程已从经验试错迈入变量驱动的科学阶段。实证研究表明,影响…

DeepSeek V4替换Codex底座模型的实践与优化

DeepSeek V4替换Codex底座模型的实践与优化

2026/7/17 0:00:57

1. 为什么选择用DeepSeek V4替换Codex的底座模型去年我在开发一个智能代码补全工具时,发现Codex的默认底座模型在复杂业务逻辑场景下表现不尽如人意。经过多次测试对比,DeepSeek V4在以下几个关键指标上展现出明显优势:代码补全准确率&#x…