MYSQL的聚合函数,存储过程的知识点

聚合函数

MySQL提供了多种聚合函数,用于对数据进行汇总计算:

- **COUNT():** 统计行数或非NULL值的数量。
- **SUM():** 计算某列值的总和。
- **AVG():** 计算某列值的平均值。
- **MAX():** 获取某列的最大值。
- **MIN():** 获取某列的最小值。

这些函数可用于单列或多列,也可搭配WHERE子句进行条件过滤。

### 存储过程

MySQL存储过程是预先编译并存储在数据库中的一组SQL语句。它们有以下关键特点:

- **参数支持:** 存储过程可以接受参数,并在执行时使用这些参数。
- **封装逻辑:** 允许将多个SQL语句组合为一个可重用的单元。
- **提高性能:** 存储过程可以减少与数据库服务器的通信次数,提高性能。
- **事务控制:** 可以在存储过程中实现事务控制,保证数据的一致性和完整性。

存储过程的基本语法包括`CREATE PROCEDURE`来创建存储过程,`BEGIN...END`来定义过程体,以及`CALL`来执行存储过程。

### 示例:

**聚合函数示例:**

```sql
SELECT COUNT(*) AS TotalUsers FROM users; -- 统计用户总数

SELECT AVG(salary) AS AvgSalary FROM employees WHERE department = 'Sales'; -- 计算销售部门的平均工资
```

**存储过程示例:**

```sql
DELIMITER //

CREATE PROCEDURE GetEmployeeCount(IN dept_name VARCHAR(50), OUT employee_count INT)
BEGIN
    SELECT COUNT(*) INTO employee_count FROM employees WHERE department = dept_name;
END //

DELIMITER ;

CALL GetEmployeeCount('Sales', @count); -- 调用存储过程并获取销售部门的员工数
SELECT @count AS SalesEmployeeCount;
```

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值