问题标签 [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.
oracle - 使用组内更新
我已经编写了以下语句,它以我需要更新另一个表的格式返回数据,但是我正在努力更新
我做了一个基本的转换成 UPDATE 语句
这收到“ORA-00934:此处不允许组功能”错误。我不确定如何删除组功能但保留我需要的数据格式?
oracle - 从 oracle 中的 listagg 中删除重复值
我曾经listagg
将书籍与补充书籍名称一起连接和列出。
但由于补充书的数量更多,我反复得到主书名。
有没有办法删除重复的主书名和号码。
我的输出是这样的
-99,Anders Carlson ,-109,John Stuart,-99,Anders Carlson ,-47,James Anderson
这里重复值 99 我只想要一个 99。
期望的输出:
-99,Anders Carlson ,-109,John Stuart,-47,James Anderson
数据库数据:
书单:
作者:
补充:
输出应该像
同样对于表中的整个数据
sql - Oracle Listagg 子查询
它抛出错误为
ORA-01722: 无效号码
01722. 00000 - “无效号码”
*原因:指定的号码无效。
*行动:指定一个有效的数字。
sql - SQL 连接其中一列
我有以下输出:
我想基本上根据投资组合名称、相同的段和相同的编号连接所有行。正如您所看到的,有时 number 也可以为空。
基本上我想要这个例子的最终输出是:
我尝试过使用 listagg 但无法弄清楚...
希望你能理解我的问题。
sql - SQL 使用 LISTAGG() 将 10 个一组的列连接起来
我需要帮助编写一个查询,该查询可以以 10 个为一组连接其中一个列。
例子:
由于 SQL 不允许连接太大的字符串,我想一次将 10 个分组,以便得到:
谢谢
sql - 连接来自同一字段的多行的值,聚合
我有一个数据集,其中一列中的名称以及其他几列。我想显示字段中所有其他值的相同位置,连接名称。
例如
输出为:
我试过使用 rtrim 但它什么也没做。我也尝试使用 listagg 但我收到错误“不是按表达式分组”
所有字段都是字符串,不可计算。
TIA
oracle11g - 具有多个子查询的 Oracle 11g LISTAGG 函数
我正在开发 Oracle 11g,我正在尝试编写一个插入“?”的查询。两个日期之间的所有缺失月份。这是我能够实现的。但是,现在我想将特定列的所有记录整理到一条记录中。我已经使用 LISTAGG 函数来实现这一点,但是对于 LISTAGG 函数中的列,我收到错误“无效标识符”。这是我的代码:-
Select facilitynumber,
LISTAGG(facilitystatus, '') WITHIN GROUP (ORDER BY null) "Profile"
FROM (
WITH allmonths AS (
SELECT to_date(level, 'MM') AS allmnths FROM dual
CONNECT BY LEVEL BETWEEN '01' AND '05'
), months AS (
SELECT * FROM (
SELECT ccds.facilitynumber,ccds.facilitystatus, dsub.filecreationdate as FacilityStatusDate, dsub.submissiondate,
ROW_NUMBER() OVER (partition by ccds.facilitynumber,extract(month from dsub.submissiondate) order by dsub.submissiondate DESC) r
FROM ccdssubmissions ccds INNER JOIN datasubmission dsub
ON ccds.datasubmissionid = dsub.datasubmissionid
INNER JOIN datasupplier dsup
ON dsub.datasupplierid = dsup.datasupplierid WHERE ccds.matchedcompanynumber = 'TEST9239'
ORDER BY dsub.submissiondate DESC
) where r = 1)
SELECT allmnths, CASE
WHEN facilitystatus IS NULL
THEN '?'
ELSE facilitystatus
END AS "facilitystatus", submissiondate, facilitynumber
FROM allmonths LEFT OUTER JOIN months
ON extract(month from allmonths.allmnths) = extract(month from months.submissiondate) order by allmnths
) GROUP BY facilitynumber;
我在第二行本身面临错误。我的子查询,即从“WITH”开始的查询返回结果如下:-
现在使用 LISTAGG(facilitystatus, ''),我希望我的结果是 ->
但是,Oracle 无法识别 facilitystatus 列,因此我无法达到预期的结果。
任何帮助将不胜感激。
谢谢
sql - oracle listagg 结果太长
我listagg()
用来聚合字符串值
例如,有一个这样的表:
我们得到结果:
如果 COMRANK 变得太长怎么办?我可以在汇总之前找到 top xxx 吗?
oracle11g - ORA-00923: 在预期的地方找不到 FROM 关键字 - LISTAGG
我必须用逗号分隔一列的所有值,为此我使用 LISTAGG 函数,但出现错误
“ORA-00923:在预期的地方找不到 FROM 关键字”
请在下面找到我正在使用的代码。请建议我为什么会收到此错误。
sql - 按外键分组并获取新行
我需要计算人员表中的所有外键,并列出person_id
是否多次引用外键。person_id
如果我在一个单元格中列出所有内容,这并不复杂。
例如,如果我有这张桌子:
我可以做这个 sql 查询:
结果将是:
我的问题是用户要求,因为他需要的person_id
不是单行而是每行person_id
。
所以它必须是这样的: