select * from
(select id,sew,row_number() over (partition by id order by id) rnb
from test) t
where t.rnb>1;
另外你的语句是用id作关键字,如果是两个,应该是如下啊
select * from
(select id,sew,row_number() over (partition by id,sew order by id) rnb
from test) t
where t.rnb>1;
(select id,sew,row_number() over (partition by id order by id) rnb
from test) t
where t.rnb>1;
另外你的语句是用id作关键字,如果是两个,应该是如下啊
select * from
(select id,sew,row_number() over (partition by id,sew order by id) rnb
from test) t
where t.rnb>1;
以下是在Oracle数据库中操作创建测试源
Create Table henry_test ( a number,b number);
Insert Into henry_test values (1,1);
Insert Into henry_test values (1,2);
Insert Into henry_test values (1,3);
Insert Into henry_test values (1,4);
Insert Into henry_test values (2,1);
Insert Into henry_test values (2,2);
Insert Into henry_test values (3,1);
Insert Into henry_test values (4,1);
Insert Into henry_test values (4,2);
Insert Into henry_test values (4,3);
所有数据
select * from henry_test;
A B
---------- ----------
1 1
1 2
1 3
2 1
2 2
1 4
3 1
4 1
4 2
4 3A相同的记录把重复的列出来
select * from (select a,b,row_number() over (partition by a order by a) rnb from henry_test) t where t.rnb>1;
A B RNB
---------- ---------- ----------
1 2 2
1 3 3
1 4 4
2 2 2
4 2 2
4 3 3
select OC_ORDER_ID from T_ORDER_CASH where rownum<100000 group by OC_ORDER_ID having count(OC_ORDER_ID)>1