Sql server 在SQL Server中查找重复记录

Sql server 在SQL Server中查找重复记录,sql-server,sql-server-2008,Sql Server,Sql Server 2008,如何在sql server中找到重复记录。 如果我能找到除最新唱片以外的唱片就好了。 因为我想删除除最新记录以外的所有记录。 我计划将除最新记录外的所有记录放入临时表,并根据临时表的id删除原始记录 例子 我想选择1,3(如果是employeeName='A') 如果是employeeName='B',我想选择2首先将Identity列添加到原始表中 (称为employeeNo) declare@T表(E_Name nvarchar(255),C int,Max_ID int) 插入@T 选择e

如何在sql server中找到重复记录。 如果我能找到除最新唱片以外的唱片就好了。 因为我想删除除最新记录以外的所有记录。 我计划将除最新记录外的所有记录放入临时表,并根据临时表的id删除原始记录

例子 我想选择1,3(如果是employeeName='A')
如果是employeeName='B',我想选择2

首先将Identity列添加到原始表中 (称为employeeNo)

declare@T表(E_Name nvarchar(255),C int,Max_ID int)
插入@T
选择employeeName、计数(1)、最大值(employeeNo)
来自员工
按员工名称分组
计数(1)>1的
删除员工
来自员工
左连接@T on E_Name=employeeName
其中C不为null且Max_ID employeeNo
试试这个:

重复记录“A”

SELECT      employeeID
FROM        Emp AS A
WHERE       EmployeeName = 'A' AND 
            employeeID <> (SELECT MAX(employeeID)
                           FROM   Emp
                           WHERE  EmployeeName = A.EmployeeName)

这将从示例表中选择所有旧副本

SELECT * FROM example WHERE employeeID NOT IN (SELECT MAX(employeeID) _ FROM example)

一个月的
4
怎么样?他只是说他想保留最近的一个=/
SELECT      employeeID
FROM        Emp AS A
WHERE       EmployeeName = 'A' AND 
            employeeID <> (SELECT MAX(employeeID)
                           FROM   Emp
                           WHERE  EmployeeName = A.EmployeeName)
SELECT      employeeID
FROM        Emp AS A
WHERE       employeeID <> (SELECT MAX(employeeID)
                           FROM   Emp
                           WHERE  EmployeeName = A.EmployeeName)
DELETE FROM Emp
WHERE  employeeID NOT IN (SELECT   MAX(employeeID)
                          FROM     Emp
                          GROUP BY EmployeeName)
SELECT * FROM Table_1 WHERE employeeID not in 
(
    SELECT     MAX(employeeID)
    FROM         Table_1
    GROUP BY EmployeeName
)
SELECT * FROM example WHERE employeeID NOT IN (SELECT MAX(employeeID) _ FROM example)