英文:
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 *
。
英文:
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 *
.
答案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;
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论