我有一张表,可以在其中保存曾经发生的所有行更改。问题在于,在应用程序的开头有一个错误,它会为每一行制作一堆副本。
该表如下所示:
copies
|ID |CID |DATA
| 1 | 1 | DA
| 2 | 2 | DO
| 2 | 3 | DO (copy of CID 2)
| 1 | 4 | DA (copy of CID 1)
| 2 | 5 | DA
| 1 | 6 | DA (copy of CID 1)
| 2 | 7 | DO
CID 在表副本中是唯一的。
我想要的是删除所有按 CID 排序的 DATA GROUP BY ID 的重复项。
正如您在表中看到的,CID 2 和 3 是相同的,它们是一个接一个。我想删除 CID 3。与 CID 4 和 CID 6 相同;它们之间没有 ID 1,是 CID 1 的副本。
删除重复项后,我希望表格如下所示:
copies
|ID |CID |DATA
| 1 | 1 | DA
| 2 | 2 | DO
| 2 | 5 | DA
| 2 | 7 | DO
有什么建议么?:)
我认为我的问题被问得很糟糕,因为每个人似乎都认为最好的答案给出了这个结果:
ID | DATA | DATA | DATA | DATA | DATA | DATA | CID |
|Expected | Quassnoi |
1809 | 1 | 0 | 1 | 0 | 0 | NULL | 252227 | 252227 |
1809 | 1 | 0 | 1 | 1 | 0 | NULL | 381530 | 381530 |
1809 | 1 | 0 | 1 | 0 | 0 | NULL | 438158 | (missing) |
1809 | 1 | 0 | 1 | 0 | 1535 | 20090113 | 581418 | 581418 |
1809 | 1 | 1 | 1 | 0 | 1535 | 20090113 | 581421 | 581421 |
CID 252227 和 CID 438158 是重复的,但是因为 CID 381530 在它们之间;我想保留这个。当按 CID 和 ID 订购时,只有重复的重复。