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

【MySQL的故事】认识MySQL中的聚合函数以及聚合函数的作用,拿捏这些细节

聚合函数

在数据库管理和分析中,聚合函数(Aggregate Functions)是不可或缺的工具。它们允许我们对一组值执行计算,并返回一个单一的结果。MySQL作为一种广泛使用的关系型数据库管理系统(RDBMS),提供了多种强大的聚合函数,帮助用户高效地处理和分析数据。

聚合函数都有哪些

聚合函数作用
COUNT()计算指定列或表中的行数,COUNT(*)计算所有行数,COUNT(column_name)计算指定列中非NULL值的数量
SUM()计算指定列中数值的总和
AVG()计算指定列中数值的平均值
MAX()找出指定列中的最大值
MIN()找出指定列中的最小值
GROUP_CONCAT()将查询结果中的多个行合并成一个字符串,并以逗号或其他指定的分隔符分隔
STDDEV_POP()计算指定列的总体标准偏差(有些MySQL版本中可能使用STD()表示总体标准差)
STDDEV_SAMP()计算指定列的样本标准偏差
VAR_POP()计算指定列的总体方差(有些MySQL版本中可能使用VARIANCE()表示总体方差)
VAR_SAMP()计算指定列的样本方差

注意

  • STDDEV_POP()VAR_POP()用于计算总体(即整个数据集)的标准偏差和方差。
  • STDDEV_SAMP()VAR_SAMP()用于计算样本(即数据集的一个子集)的标准偏差和方差。
  • 在某些MySQL版本中,STD()可能作为STDDEV_POP()的别名,而VARIANCE()可能作为VAR_POP()的别名,但最好查阅具体版本的文档以确认。
  • 使用这些聚合函数时,可以结合GROUP BY子句对结果进行分组计算。

案例

接下来我们通过使用模拟数据来对这些常用的聚合函数进行学习吧!

创建示例表

-- 创建示例表
CREATE TABLE sales (
    sale_id INT AUTO_INCREMENT PRIMARY KEY,
    sale_date DATE,
    salesperson VARCHAR(50),
    product VARCHAR(50),
    amount DECIMAL(10, 2)
);

插入模拟数据

INSERT INTO sales (sale_date, salesperson, product, amount) VALUES
('2023-01-01', 'Alice', 'Product A', 100.00),
('2023-01-01', 'Bob', 'Product B', 150.00),
('2023-01-02', 'Alice', 'Product A', 200.00),
('2023-01-02', 'Charlie', 'Product C', 300.00),
('2023-01-03', 'Bob', 'Product B', 250.00),
('2023-01-03', 'Charlie', 'Product A', 100.00),
('2023-01-04', 'Alice', 'Product C', 120.00),
('2023-01-04', 'Bob', 'Product A', 80.00);

接下来,我们将基于sales表,详细讲解MySQL中的聚合函数,并通过示例展示其用法。

COUNT() 函数

COUNT() 函数用于统计表中行的数量,或者特定列中非NULL值的数量。

统计统计总销售记录数
-- 统计总销售记录数
SELECT COUNT(*) AS total_sales FROM sales;

统计每个销售人员的销售记录数
-- 统计每个销售人员的销售记录数
SELECT salesperson, COUNT(*) AS sales_count FROM sales GROUP BY salesperson;

SUM() 函数

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

计算总销售额
SELECT SUM(amount) AS total_amount FROM sales;

计算每个销售人员的总销售额
SELECT salesperson, SUM(amount) AS total_sales_amount FROM sales GROUP BY salesperson;

AVG() 函数

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

计算平均销售额
SELECT AVG(amount) AS average_amount FROM sales;

计算每个销售人员的平均销售额
SELECT salesperson, AVG(amount) AS average_sales_amount FROM sales GROUP BY salesperson;

MAX() 和 MIN() 函数

MAX() 和 MIN() 函数分别用于查找数值列的最大值和最小值。

查找最高销售额
SELECT MAX(amount) AS max_amount FROM sales;

查找最低销售额
SELECT MIN(amount) AS min_amount FROM sales;

查找每个销售人员的最高和最低销售额
SELECT salesperson, MAX(amount) AS max_sales_amount, MIN(amount) AS min_sales_amount FROM sales GROUP BY salesperson;

GROUP_CONCAT() 函数

GROUP_CONCAT() 函数用于将分组中的多个值连接成一个字符串,通常用于字符串类型的列。

-- 将每个销售人员的销售产品连接成一个逗号分隔的字符串
SELECT salesperson, GROUP_CONCAT(product SEPARATOR ', ') AS products_sold FROM sales GROUP BY salesperson;

实际应用场景

聚合函数在数据库管理和分析中有着广泛的应用场景。例如,在销售数据分析中,我们可以使用聚合函数来计算总销售额、平均销售额、最高和最低销售额等关键指标,从而深入了解销售情况,为决策提供支持。

结论

通过上面的示例,大家应该都已经深入了解了MySQL中的聚合函数,包括COUNT()、SUM()、AVG()、MAX()、MIN()和GROUP_CONCAT()等。这些函数在数据库管理和分析中发挥着重要作用,能够帮助我们高效地处理和分析数据。希望这篇文章对您有所帮助,让您在数据库管理和分析中更加得心应手。
也欢迎在评论区留言大家一起讨论


http://www.kler.cn/a/404988.html

相关文章:

  • Android 14.0 kenel中修改rom系统内部存储的大小
  • 51c嵌入式~IO合集2
  • 40分钟学 Go 语言高并发:并发下载器开发实战教程
  • 07点积与叉积
  • NIO 与传统 IO:深入理解与应用场景
  • Rust中::和.的区别
  • Idea集成ApiFox插件
  • Percona XtraBackup备份docker版本mysql 5.7
  • 趋势洞察|AI 能否带动裸金属 K8s 强势崛起?
  • 什么是反向 DNS 查找以及它的作用是什么?
  • Banana Pi BPI-CanMV-K230D-Zero 采用嘉楠科技 K230D RISC-V芯片设计
  • Linux nftables实现内外网配置
  • 算法训练(leetcode)二刷第二十九天 | 62. 不同路径、63. 不同路径 II、343. 整数拆分、96. 不同的二叉搜索树
  • C++线程基础使用方法
  • 如何利用谷歌浏览器提高网络安全
  • windows C#-异步编程场景(二)
  • Linux之vim模式下全选命令
  • Winform Invoke与BeginInvoke
  • Java阶段三04
  • Java集合ConcurrentHashMap——针对实习面试
  • 微服务架构:10个实用设计模式
  • springboot基于微信小程序的旧衣回收系统的设计与实现
  • Web中间件漏洞总结——IIS篇
  • 【K8S系列】Kubernetes 中如何调试imagePullSecrets配置详细步骤介绍
  • Unity图形学之灯光的原理
  • LeetCode131:分割回文串