我有以下基于employee_id字段标识重复记录的查询。SQL查询识别并删除除最新记录以外的所有内容
SELECT ROW_NUMBER() OVER(PARTITION BY c1.employee_id ORDER BY c1.lastlogon ASC) AS Row
,[DN]
,[first_name]
,[last_name]
,[init]
,[email]
,[title]
,[display_name]
,[department]
,[phone_num]
,[mob_num]
,[fax_num]
,[pager_num]
,[logon]
,[post_code]
,[www]
,[objectSID]
,[disabled]
,[lastlogon]
,[employee_id]
,[acc_type]
FROM AD_Users_All_Staging c1
WHERE EXISTS
(
SELECT 1
FROM AD_Users_All_Staging c2
WHERE c2.employee_id = c1.employee_id
GROUP BY
employee_id
HAVING COUNT(1) > 1 -- more than one value
)
如何做一个选择只是最新的记录(lastlogon字段值)为它的存在重复(在EMPLOYEE_ID字段值)
的跟进问题是我如何删除所有记录除了最新的记录以外,每个重复吗?
非常感谢
谢谢戈登非常赞赏 – 2014-09-02 21:43:20