关于SQLdistinct和order by的问题

想实现以下功能将数据进行去重、排列、映射、wm_concat、和替换逗号

目前SQL如下
create table test0514
(
name varchar2(500),
score varchar2(500)
)

insert into test0514 values('张三');
insert into test0514 values('张三');
insert into test0514 values('张三');
insert into test0514 values('张三');
insert into test0514 values('李四');
insert into test0514 values('王五');
insert into test0514 values('赵六');
insert into test0514 values('戴七');
insert into test0514 values('鬼八');

select replace(wm_concat(distinct decode(name,'张三','钢铁侠','李四','美国队长','王五','绿巨人','赵六','蜘蛛侠','戴七','黑寡妇','鬼八','猩红女巫','老十','sb')),',','+') from test0514 order by rownum

无法实现排序功能,请教各位大神如何实现!!在线等!!!

你这个sql语句有问题

替换 合并 去重

SELECT replace(wm_concat(name),',','+'),wm_concat(num) FROM (select distinct name,decode(name,'高凤珍',1,'陆翠花',2,'吴雪燕',3,'何俊杰',4,0) as num
from INDIVIDUAL_CORE
order by num ASC) WHERE num!=0;

  1. 11g可用 listagg函数可以排序 select listagg(decode(max(name),'张三','钢铁侠','李四','美国队长','王五','绿巨人','赵六','蜘蛛侠','戴七','黑寡妇','鬼八','猩红女巫','老十','sb'),',') within group(order by 1) a from test0514 group by name 图片说明 2.在源去重替换名字 select replace(wm_concat(name ), ',', '+') from (select distinct (decode(name,'张三','钢铁侠','李四','美国队长','王五','绿巨人','赵六','蜘蛛侠','戴七','黑寡妇','鬼八','猩红女巫','老十','sb'))name from test0514 order by 1)