2017-01-05 45 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,而外部的一个简单的过滤器这个结果只有得到重复夫妇

相关问题