首页 > 数据库 >【重学 MySQL】三十七、聚合函数

【重学 MySQL】三十七、聚合函数

时间:2024-09-22 15:21:35浏览次数:9  
标签:聚合 函数 employees 三十七 计算 MySQL SELECT name

【重学 MySQL】三十七、聚合函数

在这里插入图片描述
聚合函数(Aggregate Functions)在数据库查询中扮演着至关重要的角色,特别是在处理大量数据时。它们能够对一组值执行计算,并返回一个汇总后的单一值。这些函数在处理统计、报告生成以及数据分析等任务时特别有用。

基本概念

聚合函数作用于一组行上,并返回一个单一的汇总值。这组行可以是表中的所有行,也可以是满足特定条件的行(通过WHERE子句指定)。此外,聚合函数经常与GROUP BY子句结合使用,以便对结果集进行分组,并对每个组分别计算聚合值。

5大常用的聚合函数

COUNT()

  • 作用:计算行数。
  • 用法
    • COUNT(*):计算包括NULL值在内的行数。
    • COUNT(column):计算指定列中非NULL值的行数。
    • COUNT(DISTINCT column):计算指定列中不同非NULL值的数量。
  • 示例SELECT COUNT(*) FROM employees; 计算employees表中的总行数。

SUM()

  • 作用:计算数值列中值的总和。
  • 用法SELECT SUM(column_name) FROM table_name;
  • 示例SELECT SUM(salary) FROM employees; 计算employees表中所有员工的薪水总和。

AVG()

  • 作用:计算数值列的平均值。
  • 用法SELECT AVG(column_name) FROM table_name;
  • 示例SELECT AVG(salary) FROM employees; 计算employees表中所有员工的平均薪水。

MAX()

  • 作用:返回某列中的最大值。
  • 用法SELECT MAX(column_name) FROM table_name;
  • 示例SELECT MAX(salary) FROM employees; 返回employees表中薪水最高的员工的薪水。

MIN()

  • 作用:返回某列中的最小值。
  • 用法SELECT MIN(column_name) FROM table_name;
  • 示例SELECT MIN(salary) FROM employees; 返回employees表中薪水最低的员工的薪水。

使用场景

  • 统计总数:使用COUNT()函数来计算表中的记录数,或者某个特定条件下的记录数。
  • 求和:使用SUM()函数来计算数值列的总和,如计算总销售额、总库存量等。
  • 计算平均值:AVG()函数用于计算平均值,如平均薪资、平均成绩等。
  • 查找极值:MAX()和MIN()函数用于找出某列的最大值和最小值,如最高分、最低分、最高销售额等。

注意事项

  • 当聚合函数与GROUP BY子句一起使用时,它们会对每个组分别计算聚合值。
  • 聚合函数通常忽略NULL值,但COUNT(*)除外,它会计算包括NULL值在内的所有行数。
  • 聚合函数的结果可以作为SELECT列表的一部分返回,也可以用在HAVING子句中作为过滤条件。
  • 聚合函数不能嵌套调用聚合函数(即不能直接使用AVG(SUM(column_name))),但可以在子查询中嵌套使用聚合函数。

示例查询

假设有一个名为sales的表,包含product_idsale_dateamount等字段,以下是一些使用聚合函数的示例查询:

  • 计算总销售额:SELECT SUM(amount) FROM sales;
  • 计算每种产品的平均销售额:SELECT product_id, AVG(amount) FROM sales GROUP BY product_id;
  • 找出销售额最高的产品ID:SELECT product_id FROM sales GROUP BY product_id ORDER BY SUM(amount) DESC LIMIT 1;

这些聚合函数在数据分析、报表生成等场景中非常有用,能够帮助用户快速地从大量数据中提取出关键信息。

标签:聚合,函数,employees,三十七,计算,MySQL,SELECT,name
From: https://blog.csdn.net/weixin_43344151/article/details/142436319

相关文章

  • MySQL 用户、权限管理,C/C++连接与使用
    目录用户用户管理查询所有用户查看当前用户查看当前连接数创建用户删除用户修改密码规则查看规则/策略规则说明临时设置持久设置修改密码权限数据库提供的权限列表查看权限给用户授权回收用户权限使用C语言连接库的安装CAPImysql_initmysql_real_connectmysql_closemysql_querym......
  • MySQL 用户与权限 C连接与使用
    目录用户用户管理查询所有用户查看当前用户查看当前连接数创建用户删除用户修改密码规则查看规则/策略规则说明临时设置持久设置修改密码权限数据库提供的权限列表查看权限给用户授权回收用户权限使用C语言连接库的安装CAPImysql_initmysql_real_connectmysql_closemysql_querym......
  • MySQL—缓存_mysql 页缓存
    bufferpool缓存什么InnoDB会把存储的数据划分为若干个页,以页作为磁盘和内存交互的基本单位,一个页默认大小为16KB,MySQL启动时,InnoDB会为bufferpool申请一篇连续的内存空间,然后按照默认的16KB的大小划分出一个个的页,bufferpool中的页就叫做缓存页。BufferPool除了缓存「索引页......
  • 【java面经速记】Mysql和ES数据同步
    目录Mysql业务数据库ES查询数据库数据同步方案同步双写异步双写(MQ方式)基于Mysql的定时扫描同步基于Binlog实时同步使用canal监听binlog同步数据到es(流行方案)拓展:mysql的主从复制原理canal原理:数据迁移同步工具Mysql业务数据库核心特点:开源免费、高并发、稳定、......
  • Can't connect to local MySQL server through socket
    mysql-urootERROR2002(HY000):Can'tconnecttolocalMySQLserverthroughsocket'/tmp/mysql.sock'(2)这是mysql登录时找不到套接字的问题。首先需要明白的是,Linux端的mysqlserver启动时会开启一个socket,Linux上的MySQL的客户端在不使用IP连接时mysqlserver时,默认......
  • MySQL安装
    MySQL安装解压安装包在环境变量中写入解压后的路径点击确认即可写安装文件新建文件命名为my.ini,修改为自己安装路径即可[mysqld]#设置3306端口port=3306#设置mysql的安装目录----------是你的文件路径-------------basedir=E:\mysql-8.0.26-winx64#设......
  • 【看过来全网最细节】MySQL大数据量处理:全面优化方案与实践
    一、实施方案针对MySQL数据库数据量过大的问题,具体的实现细节可以包括以下几个方面:1.数据库分区(Partitioning)实现细节:选择分区类型:范围分区(RangePartitioning):适用于按时间范围或数值范围分区的场景。例如,按年份或月份将订单数据分区。列表分区(ListPartitioning):适用......
  • 一条 SQL 语句在 MySQL 中是如何执行的?
    本篇文章会分析下一个SQL语句在MySQL中的执行流程,包括SQL的查询在MySQL内部会怎么流转,SQL语句的更新是怎么完成的。在分析之前我会先带着你看看MySQL的基础架构,知道了MySQL由那些组件组成以及这些组件的作用是什么,可以帮助我们理解和解决这些问题。一MySQL基础架......
  • uniapp中<map>地图怎么实现点位聚合?
    推荐学习文档golang应用级os框架,欢迎stargolang应用级os框架使用案例,欢迎star案例:基于golang开发的一款超有个性的旅游计划app经历golang实战大纲golang优秀开发常用开源库汇总想学习更多golang知识,这里有免费的golang学习笔记专栏想学习更多前端知识,这里有免费的前端专栏......
  • MySQL 数据库备份与恢复详解
    随着企业对数据依赖性的日益增加,确保数据库的安全与稳定至关重要。MySQL数据库作为开源数据库系统的代表,其备份与恢复能力直接关系到数据的安全性与业务的连续性。本文将结合最新的技术和工具,详细介绍MySQL的备份与恢复策略,帮助用户构建高效可靠的数据库管理方案。一、为什......