我有表名TABLE1包含重複的記錄,如下所示:Oracle PL/SQL - 如何刪除SQL表中的多個重複記錄?
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刪除所有重複組合的行,除了兩個或/通過PL/SQL其中AMOUNT(10.00和2.00)。另外,含有不同量的重複recordes可以多於兩個,如下面所示是:
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
...
在上述例子中,我只需要4出8條記錄,其中量應保持4條記錄(10.00到刪除,2.00,15.00和25.50)。換句話說,我在一個表中有多組重複項(一個爲2個記錄,另一個爲4個等) - 存在多個存在的多個行。
那麼列有助於重複?只有金額? – Chandu
當答案確實只使用SQL時,社區對標記PLSQL時會不滿。對於什麼版本的Oracle? –