SQL - 聚合函数

聚合函数

1). 介绍

聚合函数是SQL中用于对一列数据进行纵向计算的函数。它们将一列数据作为一个整体,进行统计、求和、求平均等操作。聚合函数在数据分析和报表生成中非常有用。

2). 常见的聚合函数
  • COUNT:统计行数或非NULL值的数量。
  • SUM:计算某一列的总和。
  • AVG:计算某一列的平均值。
  • MAX:找出某一列的最大值。
  • MIN:找出某一列的最小值。
3). 语法

聚合函数的基本语法如下:

SELECT 聚合函数(字段列表) FROM 表名;

注意:NULL值是不参与所有聚合函数运算的。

案例

假设我们有一个名为emp的表,表结构如下:

CREATE TABLE emp (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(50),
    age INT,
    idcard VARCHAR(18),
    region VARCHAR(50)
);

插入一些示例数据:

INSERT INTO emp (name, age, idcard, region) VALUES
('Alice', 30, '123456789012345678', 'Beijing'),
('Bob', 25, '987654321098765432', 'Shanghai'),
('Charlie', 35, NULL, 'Xi\'an'),
('David', 40, '111111111111111111', 'Beijing'),
('Eve', 28, '222222222222222222', 'Shanghai');
A. 统计该企业员工数量
SELECT COUNT(*) FROM emp; -- 统计的是总记录数
SELECT COUNT(idcard) FROM emp; -- 统计的是idcard字段不为null的记录数
SELECT COUNT(1) FROM emp; -- 统计的是总记录数
B. 统计该企业员工的平均年龄
SELECT AVG(age) FROM emp;
C. 统计该企业员工的最大年龄
SELECT MAX(age) FROM emp;
D. 统计该企业员工的最小年龄
SELECT MIN(age) FROM emp;
E. 统计西安地区员工的年龄之和
SELECT SUM(age) FROM emp WHERE region = 'Xi\'an';
拓展

1. GROUP BY 子句

  • 概念:GROUP BY 子句用于将查询结果按一个或多个字段进行分组,常与聚合函数一起使用。
  • 示例:统计每个地区的员工数量和平均年龄。
SELECT region, COUNT(*), AVG(age) FROM emp GROUP BY region;

2. HAVING 子句

  • 概念:HAVING 子句用于在GROUP BY之后对分组结果进行过滤。
  • 示例:统计员工数量大于1的地区的平均年龄。
SELECT region, COUNT(*), AVG(age) FROM emp GROUP BY region HAVING COUNT(*) > 1;

3. 聚合函数的组合使用

  • 概念:可以在一个查询中组合使用多个聚合函数。
  • 示例:统计每个地区的员工数量、平均年龄、最大年龄和最小年龄。
SELECT region, COUNT(*), AVG(age), MAX(age), MIN(age) FROM emp GROUP BY region;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

需要重新演唱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值