我有一张这样的表:
X Y
======
20 20
20 20
20 21
23 22
22 23
21 20
我需要找到那些rowid的X=Y
,但他们的rowid不一样?与第1行的X
和第2行的Y
相同,但它们位于不同的行中。
答案 0 :(得分:0)
您想要重复的行:
select *
from
(
select x, y, rowid, count(*) over (partition by x,y) as cnt
from tab
where x=y
) dt
where cnt > 1
答案 1 :(得分:0)
请检查一下是否有效
select * from tab a where exists (select * from tab b where a.x=b.y and a.rowid!=b.rownid);
答案 2 :(得分:0)
你可以通过多种方式做到这一点,自从你提起rowid
以来,这就是其中之一:
select * from yourtable tab1 join yourtable tab2 on tab1.x = tab2.y and tab1.rowid <> tab2.rowid