可能是重复问题:
SQL - 如何删除重复行?
例如,这是我的表:
SiteKey, Name, City
SiteKey 是自增的,Name 不同,但有时 2 个 SiteKey 会有相同的 City。
例如:
1, A , CityA
2, B, CityB
3, C, CityA
4, D, CityF
我需要删除第3行,并只保留第1、2、4行。
这是在SQL 2005及以上版本中。
感谢您的帮助。
可能是重复问题:
SQL - 如何删除重复行?
例如,这是我的表:
SiteKey, Name, City
SiteKey 是自增的,Name 不同,但有时 2 个 SiteKey 会有相同的 City。
例如:
1, A , CityA
2, B, CityB
3, C, CityA
4, D, CityF
我需要删除第3行,并只保留第1、2、4行。
这是在SQL 2005及以上版本中。
感谢您的帮助。
DELETE t
FROM
<table> t
WHERE EXISTS
(SELECT 1 FROM <table>
WHERE t.SiteKey > SiteKey AND t.City = City)
DELETE t
FROM
<table> t
INNER JOIN <table> t2
ON t.City = t2.City
AND t.SiteKey > SiteKey
这是标准的SQL语句。
DELETE
mytable
WHERE
SiteKey NOT IN
(
SELECT
MIN(SiteKey)
FROM
Mytable
GROUP BY
City
) --Don't need 'KeepMe'
接下来,添加一个唯一约束。
ALTER TABLE MyTable WITH CHECK ADD
CONSTRAINT UQ_MyTable_City UNIQUE (City)