MySQL 聚合函数深入讲解与实战演练

本文涉及的产品
RDS AI 助手,专业版
RDS Agent(兼容OpenClaw),2核4GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: MySQL 聚合函数深入讲解与实战演练

在处理大量数据时,聚合函数是SQL查询中不可或缺的一部分,它们帮助我们对数据进行汇总、分析,提取出关键信息。MySQL支持多种聚合函数,如COUNT()SUM()AVG()MAX()MIN()以及更高级的GROUP_CONCAT()STDDEV()等。本文将深入探讨这些聚合函数的用法,结合具体实例,让你掌握如何高效地在MySQL中进行数据聚合。

一、COUNT()

COUNT()函数用来计算行数,可以统计表中的所有行数或者满足特定条件的行数。

统计总行数

SELECT COUNT(*) FROM employees;

统计非空值

SELECT COUNT(salary) FROM employees;

二、SUM()

SUM()函数用于计算一列数值的总和。

SELECT SUM(salary) FROM employees;

三、AVG()

AVG()函数计算一列数值的平均值。

SELECT AVG(salary) FROM employees;

四、MAX() & MIN()

MAX()MIN()分别用于找出一列中的最大值和最小值。

SELECT MAX(age), MIN(age) FROM employees;

五、GROUP BY与聚合函数的结合

通过GROUP BY子句,可以将数据分为多个组,然后对每个组应用聚合函数。

按部门统计平均薪资

SELECT department, AVG(salary) AS average_salary
FROM employees
GROUP BY department;

六、GROUP_CONCAT()

GROUP_CONCAT()函数用于将同一组内的值连接成字符串,常用于生成列表或标签云。

SELECT department, GROUP_CONCAT(name SEPARATOR ', ') AS employees_list
FROM employees
GROUP BY department;

七、更高级的聚合函数

除了上述常用函数,MySQL还提供了如STDDEV()(标准差)、VARIANCE()(方差)等,用于统计分析。

计算薪资的标准差

SELECT STDDEV(salary) AS salary_stddev FROM employees;

八、WITH ROLLUP的使用

WITH ROLLUP可以在GROUP BY查询的结果基础上,额外生成一个汇总行。

SELECT department, AVG(salary) AS average_salary
FROM employees
GROUP BY department WITH ROLLUP;

这将不仅按部门分组计算平均薪资,还会在最后提供一个总体的平均薪资。

九、实战演练:员工薪资分析

假设有employees表,包含idnamedepartmentsalary字段,下面是一个综合应用案例,演示如何使用聚合函数进行数据分析。

任务

  1. 统计各部门员工数量。
  2. 计算公司整体的平均薪资、最高薪资和最低薪资。
  3. 分析各部门的平均薪资,并找出平均薪资最高的部门。
  4. 列出每个部门的员工名单。

SQL脚本

-- 1. 统计各部门员工数量
SELECT department, COUNT(*) AS employee_count
FROM employees
GROUP BY department;

-- 2. 计算整体平均薪资、最高薪资和最低薪资
SELECT AVG(salary) AS overall_avg_salary, 
       MAX(salary) AS max_salary, 
       MIN(salary) AS min_salary
FROM employees;

-- 3. 分析各部门平均薪资,并找出平均薪资最高的部门
SELECT department, AVG(salary) AS avg_salary
FROM employees
GROUP BY department
ORDER BY avg_salary DESC
LIMIT 1;

-- 4. 列出每个部门的员工名单
SELECT department, GROUP_CONCAT(name SEPARATOR ', ') AS employee_names
FROM employees
GROUP BY department;
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
缓存 关系型数据库 MySQL
MySQL索引策略与查询性能调优实战
在实际应用中,需要根据具体的业务需求和查询模式,综合运用索引策略和查询性能调优方法,不断地测试和优化,以提高MySQL数据库的查询性能。
718 66
|
前端开发 关系型数据库 MySQL
PHP与MySQL动态网站开发实战指南####
【10月更文挑战第21天】 本文将深入浅出地探讨如何使用PHP与MySQL构建一个动态网站,从环境搭建到项目部署,全程实战演示。无论你是编程新手还是希望巩固Web开发技能的老手,都能在这篇文章中找到实用的技巧和启发。我们将一起探索如何通过PHP处理用户请求,利用MySQL存储数据,并最终呈现动态内容给用户,打造属于自己的在线平台。 ####
707 0
|
SQL 存储 关系型数据库
MySQL秘籍之索引与查询优化实战指南
最左前缀原则。不冗余原则。最大选择性原则。所谓前缀索引,说白了就是对文本的前几个字符建立索引(具体是几个字符在建立索引时去指定),比如以产品名称的前 10 位来建索引,这样建立起来的索引更小,查询效率更快!
486 22
 MySQL秘籍之索引与查询优化实战指南
|
安全 关系型数据库 MySQL
PHP与MySQL动态网站开发实战指南####
——深入探索LAMP栈下的高效数据交互与处理技巧 ####
|
关系型数据库 MySQL PHP
PHP与MySQL动态网站开发实战指南####
深入探索PHP与MySQL的协同工作机制,本文旨在通过一系列实战案例,揭示构建高效、稳定且用户友好的动态网站的秘诀。从环境搭建到数据交互,再到最佳实践分享,本文为开发者提供了一条清晰的学习路径,助力其在LAMP(Linux, Apache, MySQL, PHP/Perl/Python)栈上实现技术飞跃。 ####
|
关系型数据库 MySQL PHP
PHP与MySQL动态网站开发实战指南####
本文深入探讨了PHP与MySQL在动态网站开发中的应用实践,通过具体案例解析如何高效结合这两大技术构建数据驱动的Web应用。文章将涵盖环境搭建、基础语法回顾、数据库设计与操作、用户注册与登录系统实现等关键步骤,旨在为开发者提供一个从零到一的项目实战路径,展示PHP与MySQL协同工作的强大能力。 ####
|
8月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
517 158
|
8月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
8月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
1356 152

推荐镜像

更多