梧桐数据库聚合函数使用举例

server/2025/2/13 4:56:21/

在数据分析和数据库管理中,聚合函数是一类非常重要的工具,它们能够对数据集进行计算并返回单个结果。梧桐数据库提供了丰富的聚合函数,这些函数可以帮助我们快速地对数据进行汇总、分析和处理。本文将介绍梧桐数据库中一些常用的聚合函数及其使用示例,包括创建表、查询 SQL 以及执行结果,以帮助您更有效地利用这些强大的工具。

创建表

首先,我们需要创建一个 employees 表来存储员工信息。

CREATE TABLE employees (employee_id SERIAL,name VARCHAR(100),salary NUMERIC(10, 2),department_id INTEGER
);

执行结果:

CREATE TABLE

插入测试数据

接下来,我们插入一些测试数据以便进行聚合函数的演示。

INSERT INTO employees (name, salary, department_id) VALUES
('John Doe', 5000.00, 1),
('Jane Smith', 6000.00, 1),
('Emily Jones', 5500.00, 2),
('Michael Brown', 7000.00, 2),
('David Wilson', 4500.00, 1);

执行结果:

INSERT 0 5

COUNT():计算行数

COUNT() 函数用于计算集合中的行数,不论列值是否为 NULL。

SELECT COUNT(*) FROM employees;
-- 计算员工总数

执行结果:

 count
-------5
(1 row)
SELECT COUNT(DISTINCT department_id) FROM employees;
-- 计算不同部门的数量

执行结果:

 count
-------2
(1 row)

SUM():计算总和

SUM() 函数用于计算数值列的总和,非常适合财务和统计分析。

SELECT SUM(salary) FROM employees;
-- 计算所有员工的薪资总和

执行结果:

 sum
-------24000
(1 row)

AVG():计算平均值

AVG() 函数用于计算数值列的平均值,是分析数据分布的常用函数。

SELECT AVG(salary) FROM employees;
-- 计算所有员工的薪资平均值

执行结果:

    avg
-----------4800.000
(1 row)

MAX() 和 MIN():找出最大值和最小值

MAX()MIN() 函数分别用于找出数值列的最大值和最小值,常用于识别数据范围。

SELECT MAX(salary), MIN(salary) FROM employees;
-- 找出薪资最高和最低的员工

执行结果:

 max  | min
-------+-------7000  | 4500
(1 row)

STRING_AGG():字符串连接

STRING_AGG() 函数可以将多行的字符串值连接成一个字符串,并允许指定分隔符。

SELECT STRING_AGG(name, ', ') FROM employees;
-- 将所有员工的名字用逗号分隔连接成一个字符串

执行结果:

   string_agg
--------------John Doe, Jane Smith, Emily Jones, Michael Brown, David Wilson
(1 row)

ARRAY_AGG():数组聚合

ARRAY_AGG() 函数将多行的值聚合成一个数组,适用于需要将结果集作为数组处理的场景。

SELECT ARRAY_AGG(department_id) FROM employees;
-- 将所有员工的部门 ID 聚合成一个数组

执行结果:

 array_agg
-----------{1, 1, 2, 2, 1}
(1 row)

使用聚合函数进行分组

聚合函数常与 GROUP BY 子句一起使用,以对特定分组的数据进行聚合计算。

SELECT department_id, AVG(salary) AS avg_salary FROM employees GROUP BY department_id;
-- 按部门分组计算每个部门的薪资平均值

执行结果:

 department_id | avg
---------------+-------1 | 5166.672 | 6166.67
(2 rows)

HAVING 子句与聚合函数

HAVING 子句用于对聚合后的结果进行过滤,它允许我们在聚合函数的基础上进行更细致的数据筛选。

SELECT department_id, AVG(salary) AS avg_salary FROM employees GROUP BY department_id HAVING AVG(salary) > 5000;
-- 找出平均薪资超过 5000 的部门

执行结果:

 department_id | avg
---------------+-------2 | 6166.67
(1 row)

梧桐数据库的聚合函数不仅功能强大,而且使用灵活,能够满足各种复杂的数据分析需求。无论是简单的行数统计还是复杂的数据汇总,这些聚合函数都是您在数据库操作中不可或缺的工具。在实际应用中,您可以根据具体的业务逻辑和数据结构选择合适的聚合函数,以实现高效的数据管理和分析。


http://www.ppmy.cn/server/141343.html

相关文章

中心极限定理的三种形式

独立同分布的中心极限定理: 设 X 1 , X 2 , … , X n X_1, X_2, \ldots, X_n X1​,X2​,…,Xn​是独立同分布的随机变量序列,且 E ( X i ) μ E(X_i) \mu E(Xi​)μ, D ( X i ) σ 2 > 0 D(X_i) \sigma^2 > 0 D(Xi​)σ2>0存在…

android studio 配置过程

Android studio版本:Android Studio Ladybug | 2024.2.1 windows 10 x64 关键问题解决方法: 1.设置代理: 退出首次配置,进入ide(必要时新建工程)然后: 然后重启ide 等待下载完成。 代理地…

浅谈智能家居在智慧养老实训室中的作用

随着人口老龄化的加剧,智慧养老逐渐成为社会关注的热点。在此背景下,智能家居技术以其独特的优势受到广泛关注。智能家居不再是奢侈品,而是提升老年人生活品质和家庭养老效率的有效工具。它们为老年人提供了便捷、安全、舒适的生活环境&#…

Java使用泛型写一个LRU缓存

2024年10月NJSD技术盛典暨第十届NJSD软件开发者大会、第八届IAS互联网架构大会在南京召开。百度文心快码总经理臧志分享了《AI原生研发新范式的实践与思考》,探讨了大模型赋能下的研发变革及如何在公司和行业中落地,AI原生研发新范式的内涵和推动经验。 …

iOS 18.2 重磅更新:6个大动作

根据外媒报道,iOS 18.2迎来重磅更新,将带来6个大动作,这是一次非常实用的更新。不过要注意的是,其中涉及到AI的功能,国行iPhone 暂时还不可用,只能等审核通过了。 1,Safari下载进度 过去通过S…

【快捷入门笔记】mysql基本操作大全-SQL数据库

SQL数据库 一、创建数据库 – 创建一个新数据库 fang_fang CREATE DATABASE fang_fang;– 显示所有数据库以确认创建 SHOW DATABASES;– 使用新数据库fang_fang USE fang_fang;– 检查我们正在使用哪个数据库 SELECT DATABASE();二、 删除数据库 –当你确定数据库存在并…

【动态规划】斐波那契数列模型总结

一、第 N 个泰波那契数 题目链接: 第 N 个泰波那契数 题目描述: 题目分析: 1、状态表示: dp[i] 表示:第 i 个斐波那契数的值 2、状态转移方程: 由题意可知第 i 个数等于其前三个数之和 dp[i] dp[i-…

15分钟学 Go 第 49 天 :复杂项目开发

第49天:复杂项目开发 欢迎来到第49天的Go语言学习!今天,我们将深入探讨如何开始一个中型项目。这将包括项目的设计、架构、代码实现和运行。我们将以开发一个简单的任务管理系统为例。 1. 项目概述 我们的目标是构建一个基本的任务管理系统…