listagg相关内容
我有一个查询,它会生成以下结果集: ID (text) VAL 1 A 2 B 3 C 我要从结果集ID生成WHERE子句: where id in ('1','2','3') 使用Oracle,我可以使用以下查询来生成WHERE子句: with a as ( ) sel
..
我的查询返回许多(数千)行。 列l对于非常少的行数(最多10行)具有特定值。 对于每个这样的行,我希望在所有这些行中输出非常短(最多5个字符)的varchar列v的逗号分隔值。 对于没有特殊值l的行,我只想输出该行的v值。 相同问题的综合示例:从前10000个整数开始,我想为每个一位数输出1,2,3,4,5,6,7,8,9;对于多位数输出该数字。(是的,这是一个愚蠢的例子,但是真实的案例是有意义
..
我必须在版本为Oracle Database 12c Release 12.1.0.1.0 - 64bit Production的oracle DB服务器上工作。因此,在使用LISTAGG函数时,我不能使用ON OVERFLOW ...。为了克服大小大于4000字节的列的聚合,我希望使用提到的建议解决方案here,这样我就不会收到错误01489. 00000 - "result of string
..
我试图通过使用listagg显示带有逗号分隔列表的重复列值,但由于";而不是单个group by函数";而出错。希望我能得到一些帮助。 下面是DDL脚本和INSERT语句和数据: DROP TABLE dept CASCADE CONSTRAINTS; DROP TABLE myrole CASCADE CONSTRAINTS; DROP TABLE person
..
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 版 -
..
我有以下数据 基端RMSA 项目 1RMSA 项目 2RMSA 第 3 项RMSB 项目 1RMSB 项目 2RMSC 第 4 项 我想把它转换成下面的格式 主要产品RMSA;RMSB 第 1 项、第 2 项RMSA 第 3 项RMSC 第 4 项 基本上,那些具有相似结果的应该归为 1 行.但是,由于我在两列上分组,因此我似乎无法使用 listagg 等使其工作. 有没有办法通过
..
创建了一个视图,其中一个字段(共 6 个)是源表中两个字段的串联.创建了第二个视图,该视图使用 listagg 来潜在地组合串联的结果.使用此两步操作正确返回源表中两个字段的 listagg 串联. 当我尝试创建一个既会产生串联又会产生 listagg 的视图时,我收到 oracle 错误 ora-01489 字符串串联的结果太长. 作为测试,我选择了 max(length(conca
..
我正在尝试在 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] 我需要
..
我必须用最新的 PostgreSQL 替换 Oracle 驱动程序.PostgreSQL 不知道函数 LISTAGG.我必须用逗号分隔 concat 值.PostgreSQL 中 Oracle 函数 LISTAGG 的等效项是什么? 解决方案 PostgreSQL 中的等价函数是 STRING_AGG() SELECT STRING_AGG (column_name,', ')从 my_
..
我正在尝试使用 oracle 12C 中的 LISTAGG、LISTAGG(distinct...) 解决了 19c 上的问题,但我必须使用 12c. 意外结果 我使用这个查询得到了上面的结果: 选择T.c1 A,T.c2 B,LISTAGG( TI.CODE , ';' ) 组内(按 TI.CODE 排序)作为 COLUMNX1,LISTAGG( TE.CODE, ';') WIT
..
以下过程在 ctrll + S 上成功编译(显示 VALID),但在执行时抛出错误:Invalid character error while execution this procedure> 在 SQL DEVELOPER 上.我没有看到任何我有无效字符的地方. 以下是创建表和插入值的代码:- CREATE TABLE tempt( "set" VARCHAR2(1), "level
..
我正在尝试使用 LISTAGG() 来获取两列以上的数据. SELECT deptname, deptno, LISTAGG(ename, ',') WITHIN GROUP (ORDER BY ename) AS员工发件人按部门分组; 但它抛出了这个错误: : FROM 关键字未在预期位置找到00000 - “在预期的地方找不到 FROM 关键字"*原因:*行动:行错误:3 列:12 谁
..
您好,我需要选择仅包含不同值的listagg列.不幸的是,我使用的是oracle 18.c,它不支持直接不同的选项,因此我可能必须使用嵌套选择(不确定?)来进行查询.我有以下SQL查询,我需要使用以下命令列出"adrml.email"列:不同的值. 选择不同的c.trader_transact,t.trader_descr,d.第三,d.f_name,d.def_phone,d.def_mail
..
Oracle 12c数据库. 我有汽车销售表: 创建表CAR_SALES(NUM_CARS NUMBER(10,0),EQUIPMENT_TYPE VARCHAR2(100),位置VARCHAR2(500),SOLD_DATE DATE);-插入样本数据插入car_sales(num_cars,equipment_type,location,sold_date)值('8','Rovers'
..
我正在尝试将表中的行合并/合并为一行.我尝试使用listagg,但由于varchar限制,因此无法正常工作. 创建表tmp(单词VARCHAR2(4000),lvl NUMBER);插入tmp2值('python',1);插入tmp2值('java',2);从tmp中选择组(按lvl排序)中的listagg(word,'')作为listagg_output; 输出应类似于python jav
..
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
..
我是使用Listagg的新手.以下脚本在此方面起作用,它为我提供了一个值列表,但该列表重复了这些值. 是否可以使用Listagg仅返回唯一的值列表. 我正在使用oracle 10g. select distinct ds.catnr,ds.planqty, ds.ordnr, ds.posnr, ds.segnr, listagg(case when not li.paco i
..
我的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
..
我正在运行Oracle Database 11g企业版11.2.0.4.0,PL/SQL版本11.2.0.4.0,并且在获取LISTAGG函数返回期望的数据集时遇到一些问题. 这是场景: 我有一个像这样的数据集 我想在一行的一列中返回MOD_CODE列中的值,例如: AR4001,AR4002 我一直在尝试使用LISTAGG函数来完成此操作,例如: SELECT
..
假设您有列 ID | A | B | C 1 | 3 | 1 | 2 2 | 5 | 9 | 1 3 | 1 | 2 | 3 ,并且您希望将各列连接起来,以使最终结果看起来像 ID | ABC_value_DESC | ABC_value_DESC_colnames 1 | 3,2,1 | A,C,B 2 | 9,5,1 | B,A,
..