永发信息网

oracle把查询出的字段拼接在一起

答案:3  悬赏:60  手机版
解决时间 2021-02-01 08:30
比如列colA colB... 1 2 1 2 1 2 然后查出来的是这样 colA colB ...1,1,1 2,2,2其实最好是这样,就一个字段 colA(1,2)(1,2)(1,2)
最佳答案
Oracle一列的多行数据拼成一行显示字符

oracle 提供了两个函数WMSYS.WM_CONCAT 和 ListAgg函数。

先介绍:WMSYS.WM_CONCAT

例:

id name

1 aa

2 bb

3 cc

要的结果是"aa,bb,cc"

select WMSYS.WM_CONCAt(a.name) from user a

这样的话,查询出的结果:"aa,bb,cc"

分隔符如果不需要用英文的逗号,需要改成别的符号比如分号的,可以用下面的方法替换下:

select replace(WMSYS.WM_CONCAt(a.name),',',';') from user a

结果:"aa;bb;cc"

======================================================================

ListAgg函数

listagg函数的语法结构如下:

LISTAGG( [,]) WITHIN GROUP (ORDER BY ) [OVER (PARTITION BY )]

listagg虽然是聚合函数,但可以提供分析功能(比如可选的OVER()子句)。使用listagg中,下列中的元素是必须的: www.2cto.com

•需要聚合的列或者表达式

•WITH GROUP 关键词

•分组中的ORDER BY子句

例子:

DEPTNO ENAME

--------- ----------

10 CLARK

10 KING

10 MILLER

20 ADAMS

20 FORD

20 JONES

按照DEPTNO字段分组,对结果集进行字符串聚合,结果如下:

DEPTNO AGGREGATED_ENAMES

--------- -------------------------

10 CLARK,KING,MILLER

20 ADAMS,FORD,JONES

SQL:

SELECt deptno,LISTAGG(ename, ',') WITHIN GROUP (ORDER BY ename) AS employees FROM emp GROUP BY deptno;
全部回答
with temp as( select 'China' nation ,'Guangzhou' city from dual union all select 'China' nation ,'Shanghai' city from dual union all select 'China' nation ,'Beijing' city from dual union all select 'USA' nation ,'New York' city from dual union all select 'USA' nation ,'Bostom' city from dual union all select 'Japan' nation ,'Tokyo' city from dual ) select nation,listagg(city,',') within GROUP (order by city) from temp group by nation 这是最基础的用法: LISTAGG(XXX,XXX) WITHIN GROUP( ORDER BY XXX) 用法就像聚合函数一样,通过Group by语句,把每个Group的一个字段,拼接起来。
怎么把oracle中两个select结果拼接在一起 可以使用: concat 连接 或者 || 例子: 表 年份 月份 数据1 数据2 2000 1 1 1 2000 2 2 1 2001 2 2 2 2001 5 5 4 希望的查询结果如下所示: 时间 数据1 数据2 2000年1月 1 1 2000年2月 2 1 2001年2月 2 2 2001年5月 5 4 select 年份||'年'||月..
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
母亲先去世五年后父亲去世父亲去世三周年烧纸
为了关注大学生的思想状况,提高青年人的责任
为什么打新股能赚到钱
轻楫的意思是什么啊?知道的请说下!
请问,自考问题(详见问题描述), 我是学人
车贷下来的款可以用来付首付吗还是首付是另外
我前天晚上邀请我喜欢的女孩去看电影,但是我
我家在湖南怀化的山区,现在山上树都砍光了,
使用充电头加usb转dc的线代替原来的电源适配
糕点里加色素加多少不算违法
【合作的重要性】以“合作的重要性”为题写一
高墩的意思是什么啊?知道的请说下!
江西省新干县三湖中学地址在什么地方,想过去
诛仙2神级首饰怎么得
家里买的地垫总爱乱跑
推荐资讯
无级变速多少公里换波箱油
刀剑神域第三季大概说什么呢,什么时候上映
凹,凸的笔画分别是几画?
小王因结交不良网友,沾染不良习气,从而走上
孟祥顺虎作品一平尺多少钱
女人的抗战佐藤是谁演的
女朋友说这句话,你若不珍惜我就永不回头,我
为啥我无论在哪下的红警95都是没玩多长时间就
矿用绞车基础浇灌混凝土的标号C20是什么意思
该图为“某地地质剖面示意图”。读图完成下列
容桂哥顿休闲会所怎么样
复谢的意思是什么啊?知道的请说下!
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?