WEB开发网
开发学院数据库Oracle SQL删除逻辑重复记录的方法 阅读

SQL删除逻辑重复记录的方法

 2007-08-25 12:37:47 来源:WEB开发网   
核心提示:问题:对于表 TestData : ID, DataID, A,B,C,需要删除DataID重复的记录,SQL删除逻辑重复记录的方法,仅保留第一条, ID为Int型主键

问题:对于表 TestData : ID, DataID, A,B,C,需要删除DataID重复的记录,仅保留第一条。 ID为Int型主键。

delete * from TestData
where ID not in
(
select Min(ID) from TestData
group by DataID
)

解答:大容量记录删除时,我这样写:

delete *

from TestData

Inner Join

(select [Type]), Min(ID) as MinID from TestData group by [Type]) T

On TestData.[Type])=T.[Type])

Where TestData.ID>T.MinID

Tags:SQL 删除 逻辑

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接