我有一个名为TABLE1的表,其中包含如下所示的重复记录:
在这种情况下,我想使用SQL或/via PL/SQL删除所有重复的组合行,除了AMOUNT(10.00和2.00)之外的两个。此外,包含不同金额的重复记录可能超过两个,如下所示:
在上面的例子中,我需要删除8条记录中的4条,其中AMOUNT应该保留4条记录(10.00、2.00、15.00和25.50)。换句话说,在一个表中我有多个重复组(一个有2条记录,另一个有4条记录等)-存在多行,其中存在多个相同的记录。
ID TYPE AMOUNT NUMBER DATE
--- ---- ------ ------ ---------
1 AAA 10.00 AAA123 22-JUN-11
2 AAA 2.00 AAA123 22-JUN-11
3 AAA 10.00 AAA123 22-JUN-11
4 AAA 2.00 AAA123 22-JUN-11
5 AAA 10.00 AAA123 22-JUN-11
6 AAA 2.00 AAA123 22-JUN-11
7 AAA 10.00 AAA123 22-JUN-11
8 AAA 2.00 AAA123 22-JUN-11
... ... ... ... ...
100 AAA 10.00 AAA123 22-JUN-11
101 AAA 2.00 AAA123 22-JUN-11
在这种情况下,我想使用SQL或/via PL/SQL删除所有重复的组合行,除了AMOUNT(10.00和2.00)之外的两个。此外,包含不同金额的重复记录可能超过两个,如下所示:
ID TYPE AMOUNT NUMBER DATE
--- ---- ------ ------ ---------
1 AAA 10.00 AAA123 22-JUN-11
2 AAA 2.00 AAA123 22-JUN-11
3 AAA 15.00 AAA123 22-JUN-11
4 AAA 25.50 AAA123 22-JUN-11
5 AAA 10.00 AAA123 22-JUN-11
6 AAA 2.00 AAA123 22-JUN-11
7 AAA 15.00 AAA123 22-JUN-11
8 AAA 25.50 AAA123 22-JUN-11
...
在上面的例子中,我需要删除8条记录中的4条,其中AMOUNT应该保留4条记录(10.00、2.00、15.00和25.50)。换句话说,在一个表中我有多个重复组(一个有2条记录,另一个有4条记录等)-存在多行,其中存在多个相同的记录。