oracle 如果其他列具有相同的值,则从一列中消除重复值

yizd12fk  于 2023-05-22  发布在  Oracle
关注(0)|答案(1)|浏览(159)

我有一个单一的表,我想避免重复的值基于一列。

我需要从CustomerName删除重复,如果它有所有的网站有相同的版本。
在表中,我想要行2,3,4,5(不是6,因为5和6具有相同的版本),然后是7,9,10,11,12(不是13和14,因为12,13,14具有版本)

1szpjjfi

1szpjjfi1#

此查询显示不需要的行:

select * from my_table a where exists (
  select 1 from my_table b 
  where a.CustomerName = b.CustomerName and a.Version = b.Version and a.Sites > b.Sites)

如果你想从你的表中删除它们,使用delete代替select *
dbfiddle demo

相关问题