2010-09-08 67 views
0

我在Oracle中的表,我想選擇所有的重複值,我的意思是:我可以檢測一個寄存器被複制,因爲一些列包含相同的值:檢測出重複登記在甲骨文

ColumnA ColumnB 
1  A 
2  A 
3  A 
4  B 

我想得到像這樣的東西:

1 A 
1 A 
1 A 

非常感謝。

+0

預期結果中的1是什麼? – 2010-09-08 16:54:25

回答

2

假設你想從原來的表中有一些重複在一列(ColumnB),你可以使用下面的查詢中的所有行:

SELECT ColumnA, ColumnB FROM Table 
WHERE ColumnB IN (
    SELECT ColumnB FROM Table 
    GROUP BY ColumnB HAVING COUNT(*) > 1 
) 

對於自己的原始數據,這將返回:

ColumnA ColumnB 
1  A 
2  A 
3  A 

如果它足以讓那些多次使用表中的所有值,你可以用一個簡單的查詢:

SELECT ColumnB FROM Table 
GROUP BY ColumnB HAVING COUNT(*) > 1 

這將只返回一行A