问题标签 [listagg]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
108 浏览

plsql - 将 wm_concat 更改为其他解决方案

我有这个代码,使用 wm_concat:

listagg 不支持 distinct 关键字,而且我没有 Idea,这很容易做到。帮助 :)

0 投票
0 回答
1038 浏览

python - ORACLE:LISTAGG 输出结果的时间太长

下面是我通过 Python 中的 Oracle API 传递给 Oracle 服务器的 SQL 字符串。我怀疑 listagg 函数是处理时间延长的原因。如果没有 listagg 函数,解析结果的时间不到以下 SQL 所需时间的一半。任何建议或修复都非常受欢迎。

0 投票
1 回答
302 浏览

sql - 当第一个参数不为空时,Oracle 正在执行 NVL 第二个参数查询

理想情况下,第二个参数中给出的查询只应在第一个参数为空时为 NVL 执行以显示替代文本。但是在下面的查询中,当第一个参数不为空时,NVL 正在执行查询,并且由于在 NVL 的第二个参数查询中使用了 list_agg,我得到了字符串连接溢出错误。

当 NVL 的第一个参数为空时,我将如何避免运行 NVL 的第二个参数中给出的查询。

0 投票
3 回答
450 浏览

sql - Oracle SQL 逗号分隔 ID

我有一个这样的查询:

这给了我一个看起来像这样的表:

现在我想按 对结果表进行分组,strain_name并以逗号分隔id,如下所示:

我尝试了这个查询,但没有得到我想要的:

你能帮我更正最后一个查询,以便我可以得到一个逗号分隔的idfor each列表strain_name吗?

0 投票
1 回答
893 浏览

sql - 如何在 Oracle 10g 中模拟“LISTAGG”功能?

orig_system具有DNB价值,并且它们owner_table_idDNB. 我试图将所有 ID 从多行带到单行。

但Oracle 10g 不支持listagg。有没有其他方法可以将所有OWNER_TABLE_IDDNB 连接在一行中。

以下是使用的查询:

以下是样本数据:

预期结果:

0 投票
1 回答
774 浏览

oracle - LISTAGG 被评估并在无法访问的 case 语句中失败

我在 Oracle 中使用 LISTAGG 函数时遇到了一些非常不寻常的行为。

我知道如果 LISTAGG 处理超过 4000 个字符,它就会失败。

因为我知道这一点,所以我有一个 CASE 语句,用“Too many to count”消息替换计数超过 100 个字符的单元格。

为简单起见,让我们忽略计数 > 100 的特殊情况,只说应该排除 FOO,应该包括 BAR。

这提供的结果应该如下所示(但具有不同的随机字符):

成功

然而,只增加一个额外的行,使 FOO 部门的总数达到 10...

导致我们在重新运行相同的选择时遇到异常:

奇怪的是,即使将 case 语句中的条件更改为 1=2,也会发生这种情况。

我不确定这里发生了什么。似乎 SQL 决定评估该语句,而不管它是否有任何使用它的意图,因此在遇到 4000+ 字符 LISTAGG 时失败。

对于我的问题,我有一些解决方案,但我真的很想了解更多关于为什么 SQL 决定(显然)运行 LISTAGG 的原因,即使它永远不会被访问。

0 投票
1 回答
1024 浏览

sql - oracle中的不同listagg

我有一个这样的查询:

结果是这样的:

name_surname1:addr 1,name_surname1:addr 2,name_surname2:addr 3

但预期的结果是这样的:

name_surname1:(地址 1,addr 2),name_surname2:(地址 3)

我该如何实现这一点以避免显示名称中的重复记录?

谢谢

0 投票
2 回答
454 浏览

sql - List Agg 函数中的不同值

我在表格中的数据

简化

现在我想要表 A 中名称的记录,这些记录在表 B 中具有不同的值。

例如

我需要像这样的输出

我使用ListAgg了函数,但它给了我所有的记录。

谁能告诉我如何获取记录

0 投票
1 回答
2260 浏览

java - H2 用户使用“WITHIN GROUP”定义的 ListAgg 函数

感谢 stackoverflow 上的一个问题,我为我的 H2 DB 定义了一个自定义 ListAgg 聚合函数,它似乎工作正常。

但是我使用 ListAgg 函数的 SQL 语句看起来像这样:

并因“语法错误:预期的“BY”而失败。可能是因为他不理解 'WITHIN GROUP (ORDER BY SOMECOLUMN)' 表达式,并希望在 'GROUP' 之后有一个 'BY'?!

也可以教他这个吗?

0 投票
2 回答
2050 浏览

sql - 在 listagg SQL Oracle 中使用 nvl

在 listagg 中使用 nvl 调用时遇到问题。

我是 SQL 新手,所以我仍然对语法有疑问..

错误:ORA-00923:在预期的地方找不到 FROM 关键字