问题标签 [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 投票
1 回答
275 浏览

oracle - 如何获取listagg中每个字符串的''?

我有以下查询:

我想要这部分:

AND ix.UDBENCH_UDIDX IN (select listagg(udfo,',') within group(ORDER BY udfo) from XXXXX where pf_ticker is null )

相当于: ix.UDBENCH_UDIDX IN ('blal','bll',blc') 但它显示 ix.UDBENCH_UDIDX IN (blal,bll,blc) 并且我的查询结果是一个空表,你知道如何设置listagg 有这个结果('blal','bll',blc' 而不是 blal,bll,blc)?谢谢

0 投票
2 回答
396 浏览

sql - listagg Oracle SQL 查询,加入同一张表

对于每只狗,我想找到除狗之外的其他动物的匹配名称,并将它们添加到逗号分隔的列表中。下表的图像和所需的查询结果如下:

存在具有这种结构的表: 在此处输入图像描述

我想创建一个查询结果,例如: 在此处输入图像描述

0 投票
0 回答
43 浏览

sql-server - Oracle 到 MS SQL Server 查询更改

我有一个带有 Oracle 投诉语法的 SQL 查询。它必须根据 MS SQL Server 语法进行更改。我不确定 LISTAGG 会如何变化。任何帮助深表感谢。下面是查询

提前致谢。

0 投票
2 回答
12454 浏览

sql - 使用 LISTAGG 和 CASE 语句的 SQL 查询

任何人都可以在这里帮助我解决以下问题,

我想同时CASE使用LISTAGG

使用我正在做的 sql

所以输出只能正常工作

所以在这里我想写一个案例或者 if else 逻辑(如果 50|100|128)它应该反映为是 else if 100|100|128 那么它应该反映为否

你能帮我解决这个问题吗?

0 投票
4 回答
2149 浏览

sql - LISTAGG 操作期间带有 LIKE 的 CASE 语句

请参考上表使用操作 LISTAGG 背后的原因,我得到多行 Person ID 因为我每个人都与多个 Group ID 相关联,所以我想使用 LISTAGG 连接 Group ID 并隔离值。

而且由于 IGROUP 值有很多,每个人都可以关联一个值,但是我们担心前 2 个值,在屏幕截图中

当某事返回 100|50 Then 'GroupA' 当某事返回 150|100 Then 'GroupB' 当某事返回 200|150 然后 'GroupC'

但这里的问题是,如果我使用上述方式,我必须在 CASE 语句中定义所有组合

有什么办法可以使用WHEN LIKE '100|50%'THEN GroupA

0 投票
2 回答
6587 浏览

sql - 在 where 子句中使用 listagg 生成的列

我在 oracle 数据库中有 3 个表。它们看起来像这样:

该表Right有两个foreign_keys:username指向表中同名的列userorganisationname指向表Organisation

对于user在 x 上拥有正确用户的所有用户organisation,我想获取organisations用户拥有 1 个或多个权限的所有(组织 x 除外)的列表。

在我的示例中:a 在 x 上有正确的用户,b 在 x 上有正确的用户,c 在 x 上没有正确的用户。所以我只想为用户 a 和 b (而不是 c !!!)获取所有组织(不同的!,没有组织名称两次)。如果一个用户在 x 之外没有其他组织的权限(他必须拥有正确的用户),我希望该用户在输出中但没有组织。

预期的输出是:

我希望你明白我的意思。到目前为止,我的查询如下:

该查询有效,但现在我想过滤列组织。但我无法在 where 子句中使用它。当我尝试使用它时,oracle 会抛出错误:ORA-00904: invalid identifier

有谁知道我怎么能做到这一点?我认为oracle有问题是因为listagg的解析函数。我也会很高兴关于如何简化我的查询的建议。谢谢!

这是我尝试在 where 子句中使用列组织的内容:

0 投票
4 回答
3647 浏览

sql-server - SQL STUFF 不起作用,为什么?

我在 Oracle 上做了很多查询,现在我正在使用 SQL Server。我看到了在sql server(东西)中使用类似函数的方式,比如oracle中的listagg。

sintax 是正确的,但结果不是。

注意与 id 1 相关的记录

例如,目标是前 2 行,结果为 1 - RH,Planta Brasilia

哪里有问题 ?

0 投票
2 回答
4190 浏览

sql - 在 Oracle 中限制 LISTAGG 结果

我试图限制我的 SQL 查询中的一个列,该查询使用 LISTAGG 仅将前 3 行分组到一个列中。

例如:

让它返回以下...

我可以使用 listagg 连接数据,但是我不完全确定如何将结果限制为前 3 条记录。

LISTAGG 可以做到这一点吗?任何帮助将不胜感激。谢谢

0 投票
2 回答
1081 浏览

sql - 将 Sum 添加到 Select 中 Listagg 的每一行

我将以下内容用作按预期工作的更大查询的一部分。

在我的情况下,一些托运人 ID 可以有多个项目编号,然后所有这些编号都将通过以下汇总。

示例:
发货人 ID 有 3 个项目编号。
在这种情况下,以下将返回 3 件商品(包括它们的详细信息)和此发货人 ID 的 3 个总价。

什么方法可以总结每个运输 ID 的总价格吗?
假设上述示例中的总价格为 10.00、20.00 和 30.00,那么我希望看到此发件人 ID 为 60.00 的总价。
如果这更容易,这可以显示在单独的列中。

我尝试了多种方法,但无法使其正常工作。

我的查询:

0 投票
3 回答
203 浏览

sql - 影响查询性能的 regxp_replace 和 listagg

我想提高查询的性能。由于使用了 listagg 和 regxp_like,查询性能可能会下降。有没有其他更好的选择来代替这两个功能,这可能会提高性能。

  1. 我不允许向我正在使用的表引入任何索引。(为所有表添加了更多索引......不能再添加了)
  2. 需要围绕查询方法进行调整以提高其性能

查询:版本 2(性能 64.796)

查询:版本 1(性能 10.327)

​</p>