从一列中删除重复值,如果另一列具有相同的值。

huangapple go评论91阅读模式
英文:

Eliminating duplicate values from one column if other column have same value

问题

我有一个单一的表格,我想根据一列避免重复值。

我需要从CustomerName中删除重复项,如果所有的Site都具有相同的Version。

在表格中,我希望保留第2、3、4、5行(不包括第6行,因为5和6具有相同的Version),然后是第7、9、10、11、12行(不包括第13和14行,因为12、13和14具有相同的Version)。

英文:

I have one single table and I want to avoid the duplicate value based on one column.

从一列中删除重复值,如果另一列具有相同的值。

I need to remove the duplicate from CustomerName if it has all the Sites have same Version.

In the table i want line 2, 3, 4, 5(Not 6 as 5 and 6 have same Version) then 7, 9, 10, 11, 12 (Not 13 and 14 as 12,13,14 have version)

答案1

得分: 1

这个查询显示了不需要的行:

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 演示

英文:

This query shows unwanted rows:

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)

If you want to remove them from your table use delete instead select *.

dbfiddle demo

答案2

得分: 0

我使用查询中的 DISTINCT 关键字得到了与我问题中提到的输出相符的结果。

SELECT
    DISTINCT CUSTOMERNAME, VERSION
FROM
    BOOK1_DATA;
英文:

I got the output as mentioned in my question using distinct in query.

SELECT
    DISTINCT CUSTOMERNAME, VERSION
FROM
    BOOK1_DATA;

huangapple
  • 本文由 发表于 2023年5月17日 13:43:02
  • 转载请务必保留本文链接:https://go.coder-hub.com/76268870.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定