table sturcture

{taskRecordId,taskDate,userId,teamId,taskId,unit,nots}

delete duplicate taskDate,UserId,teamId and taskId.

the sql is

delete from TaskRecord
select * from TaskRecord
where taskRecordId in
(
 select MIN(taskRecordId) from TaskRecord t join
 (select COUNT(*) d,taskDate,userId,teamId from TaskRecord
 where taskId=6
 group by taskDate,userId,teamId having (COUNT(*)>1))  x
 on t.taskDate=x.taskDate and t.userId=x.userId and t.teamId
 =x.teamId where t.taskId=6 group by t.taskDate,t.userId,t.teamId

posted on 2011-09-07 14:06  cwe  阅读(789)  评论(0)    收藏  举报