Oracle五个分组函数的运用(oracle五个分组函数)

Oracle五个分组函数的运用

在使用Oracle数据库时,经常需要对数据进行聚合分析,这时就需要用到Oracle提供的分组函数。下面介绍五个常用的分组函数。

1. COUNT

这是最常见的分组函数之一,用于统计某一列的行数。例如:

SELECT COUNT(*) FROM table_name;

这将统计表table_name中所有行的数量。

另外,COUNT还有一些其他的用法,比如:

– 统计某一列中非NULL值的数量,使用COUNT(column_name);

– 统计满足条件的行数,使用COUNT(CASE WHEN condition THEN 1 END)。

2. SUM

SUM用于计算某一列的总和。例如:

SELECT SUM(salary) FROM employee;

将统计employee表中所有员工的薪资总和。

3. AVG

AVG用于计算某一列的平均值。例如:

SELECT AVG(score) FROM student;

将统计student表中所有学生的成绩的平均值。

4. MAX

MAX用于获取某一列中的最大值。例如:

SELECT MAX(height) FROM person;

将统计person表中所有人的最大身高。

5. MIN

MIN用于获取某一列中的最小值。例如:

SELECT MIN(age) FROM student;

将统计student表中所有学生的最小年龄。

这些分组函数可以很好地帮助我们进行数据聚合分析,从而更好地理解数据。但需要注意的是,在使用这些函数时要注意参数的数据类型,例如SUM函数只能用于数值类型的列,否则会出错。

代码示例:

CREATE TABLE student

(

id INT PRIMARY KEY,

name VARCHAR2(20) NOT NULL,

age INT,

score INT

);

— 插入数据

INSERT INTO student VALUES (1, ‘Tom’, 20, 80);

INSERT INTO student VALUES (2, ‘Jerry’, 23, 85);

INSERT INTO student VALUES (3, ‘Lucy’, 21, 90);

INSERT INTO student VALUES (4, ‘Mike’, 22, 75);

— 统计平均分

SELECT AVG(score) FROM student;

— 统计年龄最小的学生

SELECT name, MIN(age) FROM student;

— 统计分数大于80的学生人数

SELECT COUNT(CASE WHEN score > 80 THEN 1 END) FROM student;

— 统计不同年龄的学生人数

SELECT age, COUNT(*) FROM student GROUP BY age;

— 统计不同年龄的学生人数,结果按人数降序排列

SELECT age, COUNT(*) FROM student GROUP BY age ORDER BY COUNT(*) DESC;

— 清空数据

TRUNCATE TABLE student;


数据运维技术 » Oracle五个分组函数的运用(oracle五个分组函数)