SQL Server重复项-删除值
我一直在疯狂地尝试从我的SQL Server数据库中删除重复的值。一次查询有效,然后它就无效了。据推测,此查询删除了DUP,但在查询时却没有。以下是表格结构:SQL Server重复项-删除值,sql,sql-server,Sql,Sql Server,我一直在疯狂地尝试从我的SQL Server数据库中删除重复的值。一次查询有效,然后它就无效了。据推测,此查询删除了DUP,但在查询时却没有。以下是表格结构: CREATE TABLE [dbo].[Location]( [ID] [int] NOT NULL, [FullName] [nvarchar](255) NULL, [BarCode] [nvarchar](255) NULL, [Alias] [nvarchar](255) NULL, [St
CREATE TABLE [dbo].[Location](
[ID] [int] NOT NULL,
[FullName] [nvarchar](255) NULL,
[BarCode] [nvarchar](255) NULL,
[Alias] [nvarchar](255) NULL,
[StreetAddress] [nvarchar](255) NULL,
[City] [nvarchar](255) NULL,
[State] [nvarchar](255) NULL,
[ZipCode] [nvarchar](255) NULL,
[ArchiveDate] [datetime] NULL DEFAULT (getdate()),
PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
这是我用来删除重复项的查询:
WITH CTE([FullName],
[BarCode],
[Alias],
[StreetAddress],
[City],
[State],
[ZipCode],
-- [ArchiveDate],
DuplicateCount)
AS (SELECT [FullName],
[BarCode],
[Alias],
[StreetAddress],
[City],
[State],
[ZipCode],
-- [ArchiveDate],
ROW_NUMBER() OVER(PARTITION BY [FullName],
[BarCode],
[Alias],`enter code here`
[StreetAddress],
[City],
[State],
[ZipCode]
--[ArchiveDate]
ORDER BY ID) AS DuplicateCount
FROM [TelusArchive].[dbo].[Location])
DELETE FROM CTE
WHERE DuplicateCount > 1;
它不是删除重复项。我做错了什么
谢谢你的帮助……你的问题表明,你认为是重复的东西都不是。我将从以下问题开始:
SELECT [FullName], [BarCode], [Alias], [StreetAddress], [City], [State], [ZipCode], COUNT(*)
FROM location
GROUP BY [FullName], [BarCode], [Alias], [StreetAddress], [City], [State], [ZipCode]
HAVING COUNT(*) > 1
根据您的问题,这应该不会返回任何行
那么,问题出在哪里还不清楚——如果你真的认为有重复的话
我建议每次删除一列,直到您开始获得重复的列。然后可以调查列中的值。常见的罪魁祸首是外观相同但不相同的字符串,例如,由于空格或字符外观相同但不同。您的查询会删除中的重复项。