我的表格如下:
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_B列中有重复值。
答案 0 :(得分:5)
下面的查询会针对每个C_A
组检查不同C_B
值的数量是否小于值的总数。这种情况意味着所有C_B
值对于给定的C_A
组都不是唯一的,并且存在重复值。
SELECT C_A
FROM yourTable
GROUP BY C_A
HAVING COUNT(DISTINCT C_B) < COUNT(*)
答案 1 :(得分: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
中每对值的重复项数量,而外部查询只是过滤此结果以仅获得具有重复项的夫妻