oracle 相同记录取,oracle 一个表多条重复记录只取一条的解决方法
·
A 表:
id name
1 张三
2 李四
B 表: id 为 A 表 主键
id name
1 王五
1 小李
1 王八
2 赵四
2 李五
需要的结果为:
1 张三 , 王五
2 李四 赵四
SQL 语句为:
select * from a t5 left join
(select id ,name from
(select row_number() over(partition by id order by name ) t1 , t2.id,t2.name from b t2)
where t1 = 1 ) t3 on t3.id = t5.id
单表查询,多条重复记录只取一条
select * from
(
select row_number() over(partition by 重复字段 order by 时间字段 倒序还是顺序) t1, t2.字段1, t2.字段2 from 表 t2
where 1=1
查询条件
)where t1 = 1
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)