自学内容网 自学内容网

【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()等。这些函数在数据库管理和分析中发挥着重要作用,能够帮助我们高效地处理和分析数据。希望这篇文章对您有所帮助,让您在数据库管理和分析中更加得心应手。
也欢迎在评论区留言大家一起讨论


原文地址:https://blog.csdn.net/qq_51431069/article/details/143849407

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!