listagg相关内容

如果Listagg用作条件表达式中的窗口函数,则会生成ORA-01489

我的查询返回许多(数千)行。 列l对于非常少的行数(最多10行)具有特定值。 对于每个这样的行,我希望在所有这些行中输出非常短(最多5个字符)的varchar列v的逗号分隔值。 对于没有特殊值l的行,我只想输出该行的v值。 相同问题的综合示例:从前10000个整数开始,我想为每个一位数输出1,2,3,4,5,6,7,8,9;对于多位数输出该数字。(是的,这是一个愚蠢的例子,但是真实的案例是有意义 ..
发布时间:2022-03-03 13:48:17 数据库

无法使用 LISTAGG

SELECT deptno, LISTAGG(ename, ',') WITHIN GROUP (ORDER BY ename) AS员工发件人按部门分组; 错误:-ORA-00923: 未在预期位置找到 FROM 关键字00923. 00000 - “在预期的地方找不到 FROM 关键字"*原因:*行动:行错误:1 列:42 Oracle 数据库 11g 企业版 11.1.0.7.0 版 - ..
发布时间:2021-12-30 14:18:50 数据库

转置和聚合 Oracle 列数据

我有以下数据 基端RMSA 项目 1RMSA 项目 2RMSA 第 3 项RMSB 项目 1RMSB 项目 2RMSC 第 4 项 我想把它转换成下面的格式 主要产品RMSA;RMSB 第 1 项、第 2 项RMSA 第 3 项RMSC 第 4 项 基本上,那些具有相似结果的应该归为 1 行.但是,由于我在两列上分组,因此我似乎无法使用 listagg 等使其工作. 有没有办法通过 ..
发布时间:2021-12-30 14:11:10 数据库

Oracle - ORA-01489: 字符串连接的结果太长

创建了一个视图,其中一个字段(共 6 个)是源表中两个字段的串联.创建了第二个视图,该视图使用 listagg 来潜在地组合串联的结果.使用此两步操作正确返回源表中两个字段的 listagg 串联. 当我尝试创建一个既会产生串联又会产生 listagg 的视图时,我收到 oracle 错误 ora-01489 字符串串联的结果太长. 作为测试,我选择了 max(length(conca ..
发布时间:2021-12-05 23:45:17 数据库

Oracle 中的 LISTAGG 返回不同的值

我正在尝试在 Oracle 中使用 LISTAGG 函数.我只想获得该列的不同值.有没有一种方法可以在不创建函数或过程的情况下只获取不同的值? col1 col2 Created_by1 2 史密斯1 2 约翰1 3 阿杰1 4 公羊1 5 杰克 我需要选择col1和col2的LISTAGG(不考虑第3列).当我这样做时,LISTAGG 的结果是这样的:[2,2,3,4,5] 我需要 ..
发布时间:2021-12-01 20:03:29 数据库

在 Oracle 12C 中使用 LISTAGG 检索不同的值

我正在尝试使用 oracle 12C 中的 LISTAGG、LISTAGG(distinct...) 解决了 19c 上的问题,但我必须使用 12c. 意外结果 我使用这个查询得到了上面的结果: 选择T.c1 A,T.c2 B,LISTAGG( TI.CODE , ';' ) 组内(按 TI.CODE 排序)作为 COLUMNX1,LISTAGG( TE.CODE, ';') WIT ..
发布时间:2021-06-13 18:37:18 数据库

ORACLE 中的列表

我正在尝试使用 LISTAGG() 来获取两列以上的数据. SELECT deptname, deptno, LISTAGG(ename, ',') WITHIN GROUP (ORDER BY ename) AS员工发件人按部门分组; 但它抛出了这个错误: : FROM 关键字未在预期位置找到00000 - “在预期的地方找不到 FROM 关键字"*原因:*行动:行错误:3 列:12 谁 ..
发布时间:2021-06-12 21:02:27 数据库

Listagg独特的价值

您好,我需要选择仅包含不同值的listagg列.不幸的是,我使用的是oracle 18.c,它不支持直接不同的选项,因此我可能必须使用嵌套选择(不确定?)来进行查询.我有以下SQL查询,我需要使用以下命令列出"adrml.email"列:不同的值. 选择不同的c.trader_transact,t.trader_descr,d.第三,d.f_name,d.def_phone,d.def_mail ..
发布时间:2021-04-30 20:56:53 数据库

如何在Oracle中合并用空格分隔的行?

我正在尝试将表中的行合并/合并为一行.我尝试使用listagg,但由于varchar限制,因此无法正常工作. 创建表tmp(单词VARCHAR2(4000),lvl NUMBER);插入tmp2值('python',1);插入tmp2值('java',2);从tmp中选择组(按lvl排序)中的listagg(word,'')作为listagg_output; 输出应类似于python jav ..
发布时间:2021-04-23 20:32:40 数据库

vertica中的LISTAGG

Vertica中LISTAGG的等效项 大家好! 我正在尝试在一个字段中汇总特定组的所有字段值. 例如,我的输入表如下所示:- FIELD1 GROUP1 A 1 A 2 B 1 B 2 C 1 C 3 3 null 并且我的输出应如下所示:- 1 A,B,C 2 A,B 3 C 我目前可以通过使用以下功能在Oracle上实现此目标 SELECT GRO ..
发布时间:2020-06-29 20:16:03 其他开发

Oracle-唯一的Listagg值

我是使用Listagg的新手.以下脚本在此方面起作用,它为我提供了一个值列表,但该列表重复了这些值. 是否可以使用Listagg仅返回唯一的值列表. 我正在使用oracle 10g. select distinct ds.catnr,ds.planqty, ds.ordnr, ds.posnr, ds.segnr, listagg(case when not li.paco i ..
发布时间:2020-06-29 20:15:59 数据库

将WM_CONCAT转换为Listagg

我的DBA正在将我的Oracle数据库从v10升级到v12. 我有一些使用wm_concat的旧SP,我需要将其更改为listagg. 有问题的代码是这样的: Select registration_id,package_set_id, REPLACE(REPLACE(WM_CONCAT(REPLACE( (case when ROW_NUMBER() over (part ..
发布时间:2020-06-29 20:15:56 数据库

ORACLE SQL LISTAGG未返回预期结果

我正在运行Oracle Database 11g企业版11.2.0.4.0,PL/SQL版本11.2.0.4.0,并且在获取LISTAGG函数返回期望的数据集时遇到一些问题. 这是场景: 我有一个像这样的数据集 我想在一行的一列中返回MOD_CODE列中的值,例如: AR4001,AR4002 我一直在尝试使用LISTAGG函数来完成此操作,例如: SELECT ..
发布时间:2020-06-29 20:15:51 数据库