SQL删除某列中的重复项

SQL删除某列中的重复项

问题描述:

大家下午好!SQL删除某列中的重复项

有一个关于删除一列中的重复项并删除整行的问题。我将在Excel中的屏幕截图中提供一个示例,以便不提供专有信息。

我期待去除黄色例如行的一个突出但不希望将其限制在一个Dr.Mike或例如一个健康伙伴诊所。相对较新,所以任何帮助将不胜感激。

谢谢

+0

是否要删除所有匹配的行或全部一行? 'delete'将会删除符合'where'子句中给出的条件的所有行。 –

+0

对不起,我也想注意可以在同一地址和诊所有多个提供者 –

+1

只想删除地址上重复的那一行 –

我用下面的脚本来删除重复。

SELECT Prov, Clinic,Address, count(*) 
    FROM SomeTable 
    group by Prov, Clinic,Address 
    having count(*)>1 



    SELECT Prov, Clinic,Address, countrows = count(*) 
INTO [holdkey] 
FROM SomeTable 
GROUP BY Prov, Clinic,Address 
HAVING count(*) > 1 



    SELECT DISTINCT sometable.* 
INTO holdingtable 
FROM sometable, holdkey 
WHERE sometable.Prov = holdkey.Prov 
AND sometable.Clinic = holdkey.Clinic 
AND sometable.Address = holdkey.Address 

SELECT Prov, Clinic,Address, count(*) 
    FROM holdingtable 
    group by Prov, Clinic,Address 
    having count(*)>1 

DELETE sometable 
FROM sometable, holdkey 
WHERE sometable.Prov = holdkey.Prov 
AND sometable.Clinic = holdkey.Clinic 
AND sometable.Address = holdkey.Address 

INSERT sometable SELECT * FROM holdingtable 
+0

OP表示他们不能删除数据,只是修改它的查看方式。无论如何,对于这样一个简单的操作来说,这是非常过分的(假设它很简单,很难准确地说出OP需要什么)。 –

+0

道歉。在查看评论中的额外信息之前,我已经起草了答案。 –

你可以这样做:

select distinct prov, clinic, address 
from t; 
+0

谢谢大家的帮助! –

+1

如果这回答了您的问题,请将其标记为已接受。否则,请编辑您的问题以明确您想要的内容,因为目前还不完全清楚。 –