对记录进行去重操作怎么写??

yaningou 2005-05-12 01:27:24
假设有表abc,中有aa,bb,cc三个字段,其中aa字段唯一.
现需要将abc表中的记录根据bb字段去重,请问该怎么写?
...全文
138 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zsfww1205 2005-05-12
  • 打赏
  • 举报
回复
delete from abc a where rowid != (select max(rowid) from abc b where a.bb = b.bb)
zakat 2005-05-12
  • 打赏
  • 举报
回复
或者
delete from tbl
where rowid not in (select max(rowid) from tbl group by colb);
guangli_zhang 2005-05-12
  • 打赏
  • 举报
回复
select aa,bb,cc from (select rownum rrr, abc.* from abc) x

where rrr in(select min(rrr) from (select rownum rrr, abc.* from abc) where x.bb=bb)

试试,再简单的我不会写了,好像应该用rank什么的
zakat 2005-05-12
  • 打赏
  • 举报
回复
delete from tbl
where rowid not in (select min(rowid) from tbl group by colb);

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧