SQL删除某列中的重复项
大家下午好!SQL删除某列中的重复项
有一个关于删除一列中的重复项并删除整行的问题。我将在Excel中的屏幕截图中提供一个示例,以便不提供专有信息。
我期待去除黄色例如行的一个突出但不希望将其限制在一个Dr.Mike或例如一个健康伙伴诊所。相对较新,所以任何帮助将不胜感激。
谢谢
我用下面的脚本来删除重复。
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
OP表示他们不能删除数据,只是修改它的查看方式。无论如何,对于这样一个简单的操作来说,这是非常过分的(假设它很简单,很难准确地说出OP需要什么)。 –
道歉。在查看评论中的额外信息之前,我已经起草了答案。 –
你可以这样做:
select distinct prov, clinic, address
from t;
谢谢大家的帮助! –
如果这回答了您的问题,请将其标记为已接受。否则,请编辑您的问题以明确您想要的内容,因为目前还不完全清楚。 –
是否要删除所有匹配的行或全部一行? 'delete'将会删除符合'where'子句中给出的条件的所有行。 –
对不起,我也想注意可以在同一地址和诊所有多个提供者 –
只想删除地址上重复的那一行 –