Sql 使用“时发生错误”;加上“;及;listagg";在甲骨文中

Sql 使用“时发生错误”;加上“;及;listagg";在甲骨文中,sql,oracle,Sql,Oracle,我已经按如下方式运行了sql,但出现了一个错误,有人能帮我吗 with t as ( select 'a' as p,'a' as n from dual union select 'b','a' from dual union select 'c','a' from dual union select 'd','b' from dual union select 'e','b' from dual union select 'f','b' from dual ) select lis

我已经按如下方式运行了sql,但出现了一个错误,有人能帮我吗

with t
as (
select 'a' as p,'a' as n from dual
union 
select 'b','a' from dual
union 
select 'c','a' from dual
union 
select 'd','b' from dual
union 
select 'e','b' from dual
union 
select 'f','b' from dual
)
select listagg(p,',') within group(order by n) from t

谢谢。

您在Oracle 10G中没有
listag
。或者像Frank提到的那样在Oracle 11GR2中尝试。它工作正常,没有任何错误

或者有一些替代方案,如
wm_concat
xmlagg


我个人更喜欢
xmlagg
函数,而不是
wm_concat

您的代码在11gR2上运行没有问题。您正在尝试在早期Oracle版本上运行它吗?这是行不通的,因为Listag()是在11gr2tanks中添加的,Frank你是对的。我的版本是10.2.0.1.0,我已经在11g上成功地测试了它。@VikiYang-使用
从t组中选择n,wm_concat(p)到10G中的未命名的马:“ORA-00923:从关键字未找到期望的位置”,但它在11G@VikiYang-如果您正在使用的版本中没有此功能,则不会更灵活。