Oracle(60)什么是表聚合(Table Aggregation)?

121 阅读2分钟

表聚合(Table Aggregation)是指在数据库查询中使用聚合函数对表中的数据进行汇总计算。聚合函数用于对一组值进行计算,并返回一个单一的值。这些函数通常用于统计、分析和报告数据。

常见的聚合函数包括:

  • COUNT:计算行数。
  • SUM:计算总和。
  • AVG:计算平均值。
  • MIN:计算最小值。
  • MAX:计算最大值。

示例代码

以下是一些使用SQL进行表聚合的示例,假设我们有一个名为employees的表,结构如下:

CREATE TABLE employees (
    emp_id NUMBER PRIMARY KEY,
    emp_name VARCHAR2(100),
    department VARCHAR2(50),
    salary NUMBER
);

INSERT INTO employees (emp_id, emp_name, department, salary) VALUES (1, 'Alice', 'HR', 5000);
INSERT INTO employees (emp_id, emp_name, department, salary) VALUES (2, 'Bob', 'IT', 6000);
INSERT INTO employees (emp_id, emp_name, department, salary) VALUES (3, 'Charlie', 'IT', 7000);
INSERT INTO employees (emp_id, emp_name, department, salary) VALUES (4, 'David', 'Finance', 8000);
INSERT INTO employees (emp_id, emp_name, department, salary) VALUES (5, 'Eva', 'HR', 5500);
COMMIT;

1. 计算每个部门的员工数量

使用COUNT函数计算每个部门的员工数量。

SELECT department, COUNT(*) AS employee_count
FROM employees
GROUP BY department;

输出示例:

DEPARTMENT  | EMPLOYEE_COUNT
------------|----------------
HR          | 2
IT          | 2
Finance     | 1

2. 计算每个部门的总工资

使用SUM函数计算每个部门的总工资。

SELECT department, SUM(salary) AS total_salary
FROM employees
GROUP BY department;

输出示例:

DEPARTMENT  | TOTAL_SALARY
------------|--------------
HR          | 10500
IT          | 13000
Finance     | 8000

3. 计算每个部门的平均工资

使用AVG函数计算每个部门的平均工资。

SELECT department, AVG(salary) AS average_salary
FROM employees
GROUP BY department;

输出示例:

DEPARTMENT  | AVERAGE_SALARY
------------|----------------
HR          | 5250
IT          | 6500
Finance     | 8000

4. 查找每个部门的最高工资

使用MAX函数查找每个部门的最高工资。

SELECT department, MAX(salary) AS max_salary
FROM employees
GROUP BY department;

输出示例:

DEPARTMENT  | MAX_SALARY
------------|------------
HR          | 5500
IT          | 7000
Finance     | 8000

5. 查找每个部门的最低工资

使用MIN函数查找每个部门的最低工资。

SELECT department, MIN(salary) AS min_salary
FROM employees
GROUP BY department;

输出示例:

DEPARTMENT  | MIN_SALARY
------------|------------
HR          | 5000
IT          | 6000
Finance     | 8000

总结

表聚合(Table Aggregation)是通过聚合函数对表中的数据进行汇总计算的过程。常见的聚合函数包括COUNTSUMAVGMINMAX。这些函数用于对一组值进行计算,并返回一个单一的值,常用于统计、分析和报告数据。通过使用GROUP BY子句,可以对数据进行分组,并对每组数据进行聚合计算。