在PL/SQL中,查找表中多条重复记录(多个字段重复,有一个字段不重复)
答案:3 悬赏:40 手机版
解决时间 2021-03-24 13:18
- 提问者网友:捧腹剧
- 2021-03-23 19:40
在PL/SQL中,查找表中多条重复记录(多个字段重复,有一个字段不重复)
最佳答案
- 五星知识达人网友:洎扰庸人
- 2021-03-23 20:54
做了一个简单的例子:
select c1, WMSYS.WM_CONCAt(c2)
from (select 1 as c1, 2 c2
from dual
union all
select 1, 3 c2 from dual)
group by c1
那你的问题可以这样:
select id,序列号,名称,位置,WMSYS.WM_CONCAt(端口)
from 表
group by id,序列号,名称,位置
这样就可以了,WMSYS.WM_CONCAT这个是类似字符串聚合函数的东东,一个缺点是重复记录不能太多.不然这个东西会放不下.(好像是varchar2(4000)的长度以内,这个东西也可以自己重写的,就没有这方面的限制了)
如果你的版本不支持的话,可以再聊,或者找下相关资料也可以.
希望对你有所帮助,祝你好运~~追问刚开始运行的时候报not a single-group group function错误,后来找到原因了,所有字段都要group by ,非常感谢
select c1, WMSYS.WM_CONCAt(c2)
from (select 1 as c1, 2 c2
from dual
union all
select 1, 3 c2 from dual)
group by c1
那你的问题可以这样:
select id,序列号,名称,位置,WMSYS.WM_CONCAt(端口)
from 表
group by id,序列号,名称,位置
这样就可以了,WMSYS.WM_CONCAT这个是类似字符串聚合函数的东东,一个缺点是重复记录不能太多.不然这个东西会放不下.(好像是varchar2(4000)的长度以内,这个东西也可以自己重写的,就没有这方面的限制了)
如果你的版本不支持的话,可以再聊,或者找下相关资料也可以.
希望对你有所帮助,祝你好运~~追问刚开始运行的时候报not a single-group group function错误,后来找到原因了,所有字段都要group by ,非常感谢
全部回答
- 1楼网友:忘川信使
- 2021-03-23 22:09
select A.id,A.序列号,A.名称,A.位置,A.端口,B.端口 from tb A,tb B where A.id=B.id and A.序列号=B.序列号 and A.名称=B.名称 and A.位置=B.位置;
- 2楼网友:猎心人
- 2021-03-23 21:52
select id,序列号,名称,位置 ,wm_concat( 端口)
from tableA
group by id,序列号,名称,位置
from tableA
group by id,序列号,名称,位置
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯