`
阅读更多

1、函数名

     array_agg()  返回一组基本元素,返回元素必须是create type(array)类型。

 

2、语法
 >>-ARRAY_AGG--(--expression--+----------------------------------+-->
                             |           .-,------------------. |   
                             |           V           .-ASC--. | |   
                             '-ORDER BY----sort-key--+------+-+-'   
                                                     '-DESC-'       

>--)-----------------------------------------------------------><

3、函数解释

array_agg函数返回一组基本元素。返回的数据类型必须是使用create type(array)类型的。数据中的元素的顺序有sql中指定的sort-key决定的。如果在sql中没有制定sort-key,那么在返回的数组中的元素的顺序是不确定的。但是即使在sql中没有指定sort-key,多次执同一sql返回的元素顺序是确定的。    

 

如果在sql子查询中包含了array_agg函数,那么调用array_agg,listag,xmlagg,xmlgroup函数时必须制定同一个元素排序或者不制定排序的元素。

array_agg函数可以用在以下制定的sql存储过程中的上下文中:

  • SELECT INTO 语句中
  • 定义一个cursor使用的sql语句中,但是此cursor是不可滚动的
  • 在set语句中右边,用sql语句查询定义个标量
​4、应用举例

CREATE TYPE PHONELIST AS DECIMAL(10, 0)ARRAY[10]

 CREATE TABLE EMPLOYEE (

     ID     INTEGER NOT NULL,

     PRIORITY    INTEGER NOT NULL,

     PHONENUMBER DECIMAL(10, 0),

  PRIMARY KEY(ID, PRIORITY))


 CREATE PROCEDURE GETPHONENUMBERS

   (IN  EMPID   INTEGER,

    OUT NUMBERS PHONELIST)

 BEGIN

   SELECT ARRAY_AGG(PHONENUMBER ORDER BY PRIORITY)

     INTO NUMBERS

   FROM EMPLOYEE

   WHERE ID = EMPID;

 END

CREATE PROCEDURE GETPHONENUMBERS

   (IN  EMPID   INTEGER,

    OUT NUMBERS PHONELIST)

 BEGIN

   SET NUMBERS =

     (SELECT ARRAY_AGG(PHONENUMBER)

     FROM EMPLOYEE

     WHERE ID = EMPID);

 END

 

分享到:
评论

相关推荐

    DB2各类函数总汇

    DB2 函数可以分为九大类:聚合函数、类型转换函数、数学函数、字符串函数、日期时间函数、XML 函数、分区函数、安全函数和其他函数。 一、聚合函数 聚合函数是指对表中的数据进行聚合操作的函数,常用的聚合函数...

    db2中SQL相关函数详解

    四、聚合函数 1. `COUNT()`: 计算一组值的数量,如`COUNT(*)`计算表中的行数。 2. `SUM()`: 计算一组值的总和,例如`SUM(column_name)`计算列的总和。 3. `AVG()`: 计算平均值,如`AVG(column_name)`计算列的平均值...

    db2 常见错误 吐血总结

    ### DB2常见错误详解 #### 一、错误42704:数据库名称未定义 **错误信息**: ``` SQL0204N "SYSTEM_1386_US" is an undefined name. SQLSTATE=42704 ``` **原因分析**: 此错误表明尝试创建一个已经存在的数据库...

    IBM DB2数据库——SQL入门

    ### IBM DB2数据库——SQL入门知识点详解 #### 标题:IBM DB2数据库——SQL入门 **IBM DB2**是一款由IBM公司开发的关系型数据库管理系统(RDBMS),广泛应用于企业级数据处理环境中。该标题指出本文档将介绍有关...

    db2 开发基础课程

    - SELECT语句:介绍SELECT语句的基本语法和高级用法,如连接查询、子查询、聚合函数等。 - **TCL(事务控制语言)**: - 事务控制:介绍BEGIN WORK、COMMIT、ROLLBACK等事务控制语句。 #### 四、DB2高级特性 - **...

    IBM Query and Manage XML Data with DB2 9

    - **聚合操作**:执行聚合操作,如计算总数、平均值等。 #### 五、结语 通过本课程的学习,学员将能够全面掌握如何在DB2 9环境中有效地查询和管理XML数据。这些技能对于现代企业环境中的数据管理和分析至关重要。...

    DB2 基本概念

    只有那些定义简单且没有聚合函数的视图才可能支持更新。 #### 索引(Index) 索引是在DB2中用于提高数据检索速度的重要工具,它是基于表中一列或多列值的特殊数据结构。 - **索引的作用**: - 加速查询:通过...

    db2 730 test

    4. **SQL查询和程序设计**:测试中会涉及复杂的SQL查询,包括子查询、连接、聚合函数和窗口函数等。此外,存储过程和触发器的编写和管理也是考核的重点。 5. **性能优化**:DB2 730会测试考生对性能监控和调优的...

    DB2考试试题

    4. SQL语言:熟悉SQL语句的编写,包括SELECT、INSERT、UPDATE、DELETE,以及更复杂的JOIN、子查询、聚合函数等。 二、DB2安装与配置 1. 安装流程:了解DB2的不同安装选项,如服务器版、客户端版,以及在不同操作...

    DB2 UDB V9.1 SQL Cookbook

    - **数据汇总与聚合**:讲解如何使用聚合函数(如SUM、AVG、COUNT等)对数据进行汇总统计。 ##### 3. 存储过程编写 - **基本概念**:介绍存储过程的基础知识,包括定义、参数传递等。 - **高级特性**:探讨如何利用...

    DB2 LUW to UDB400 v3

    - 对于涉及到复杂分组逻辑的查询,可能需要调整查询结构或使用其他聚合函数。 #### 十七、VALUES 语句(VALUES Statement) VALUES 语句用于向表中插入一个或多个行。 **知识点详解:** - DB2 LUW 和 UDB400 在 ...

    db2培训文档,语法、函数、存储过程、实例、聚集、递归等

    4. **聚合函数**: - `COUNT`: 计数。 - `SUM`: 求和。 - `AVG`: 平均值。 - `MIN`: 最小值。 - `MAX`: 最大值。 #### 五、DB2存储过程 存储过程是在数据库中编写的预编译代码块,可以接受输入参数,并返回结果...

    DB2错误大全,SQL CODE错误信息

    - **-11842902**:UPDATE/DELETE语句中使用了非聚合函数。 - **-11942803**:HAVING子句中使用的表达式与GROUP BY不一致。 - **-12042903**:WHERE子句中包含了SET或VALUES表达式。 - **-12142701**:INSERT或UPDATE...

    SQL开窗函数的具体实现详解

    开窗函数简介:与聚合函数一样,开窗函数也是对行集组进行聚合计算,但是它不像普通聚合函数那样每组只返回一个值,开窗函数可以为每组返回多个值,因为开窗函数所执行聚合计 算的行集组是窗口。在 ISO SQL 规定

    DB2 9.1 What is New 2009 4 .pdf

    例如,改进了窗口函数的性能,增强了SQL聚合函数的功能等。 - **SQL家族领先地位**:DB2 V9.1在SQL方面保持了业界领先地位,引入了许多新的SQL特性和优化,如新增了ROW_NUMBER()、RANK()、DENSE_RANK()等窗口函数,...

    IBM DB2通用数据库入门基础

    - 使用聚合函数(如`COUNT`, `SUM`, `AVG`, `MAX`, `MIN`)来计算每组的结果。 - 示例:`SELECT column_name, COUNT(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name HAVING...

    开窗函数有浅入深详解(一)

    此外,开窗函数还包括`SUM()`, `AVG()`, `COUNT()`, `MIN()`, `MAX()`等聚合函数的窗口版本,它们可以在每个窗口内计算累积值、平均值等。例如,我们可以计算每个城市的薪资总和: ```sql SELECT FName, FCity, ...

    DB2V95 sql cooke book

    - **聚合函数**:用于计算一组值的汇总信息。 - 示例:`SELECT COUNT(column_name), AVG(column_name), MAX(column_name), MIN(column_name), SUM(column_name) FROM table_name;` ##### 3. 视图与存储过程 - **...

    DB2异常SQLCODE信息

    ### DB2异常SQLCODE信息详解 在DB2数据库管理系统的使用过程中,遇到各种SQLCODE是不可避免的。SQLCODE是DB2返回的一个整数值,用于指示SQL语句执行的状态。正数表示成功,负数则表示错误或警告。下面将详细解析...

Global site tag (gtag.js) - Google Analytics