select id, max(substr(sys_connect_by_path(name, ','),2)) str
from (SELECT id, name,
dense_rank() OVER(PARTITION BY id ORDER BY id,name) RN
FROM people ) t
start with rn = 1
connect by rn = prior rn + 1 and id = prior id
group by id
把原来我写的回答里的row_number()换成dense_rank()就行了,开窗函数,也就是over(),中的order by id,name,原来只按id排的序
select * from test;
select t.id, max(t.a)
from (select id, wm_concat(name) over(partition by id) a
from (select distinct id, name from test)) t
group by t.id;
表结构和你提提供的一模一样,我用的是oracle 10g 我不知道9i 可以不
ID不可以重复的哦! 你要查name值为c,d,e你可以要 in(id)查询 里面写你要查询的ID
导入的时候,对于字符串有没有指定“”这样的包括符?时间类型的导入的时候有没有指定时间字段的格式?
很有可能是你导入的DATETIME字段没有指定格式,toad就按默认格式导入,结果有不匹配的。
导入的时候,看一下那些选项,重新调整一下应该就可以了
包括字段分隔符