2017-01-05 49 views
3

我有表像下圖:B列中找到重複的列每個值的Oracle

Sr_No C_A C_B 
------------------- 
1  100 A 
2  100 A 
3  100 B 
4  101 A 
5  102 A 
6  102 B 
7  103 A 
8  103 A 
9  103 B 

而且我要選擇查詢來獲取以下

C_A 
---- 
100 
103 

我想知道有多少條記錄在C_B列中具有重複值的C_A列中。

回答

5

下面檢查該查詢,爲每個C_A基團,即不同C_B值的數量小於值的總數。此條件意味着對於給定的C_A組,所有C_B值都不唯一,並且存在重複。

SELECT C_A 
FROM yourTable 
GROUP BY C_A 
HAVING COUNT(DISTINCT C_B) < COUNT(*) 
1

如果我沒有理解好,你可能需要:

select distinct C_A 
from 
    (select C_A, C_B, count(1) over (partition by C_A, C_B) as cnt 
    from test 
    ) 
where cnt > 1 

嵌套查詢計算重複的數量在C_A每對夫婦的價值觀,C_B,而外部的一個簡單的過濾器這個結果只有得到重複夫婦

相關問題