在oracle中查询三个字段,每一个字段都有重复的值,
create table S (SID int,A varchar2(10),B varchar2(10),C number(10));S
————————
SID A B C
1 1 5 8
2 2 6 0
3 1 5 8
4 3 5 8
5 1 6 9
6 4 7 0
7 2 6 0
8 4 7 0我要的结果是 要符合A要相同的AND B要相同的AND C要相同的(像 1和3 2和7 6和8)
SQL语句
create table S (SID int,A varchar2(10),B varchar2(10),C number(10));S
————————
SID A B C
1 1 5 8
2 2 6 0
3 1 5 8
4 3 5 8
5 1 6 9
6 4 7 0
7 2 6 0
8 4 7 0我要的结果是 要符合A要相同的AND B要相同的AND C要相同的(像 1和3 2和7 6和8)
SQL语句
where rowid not in
(select max(rowid) from table
group by A,B,C)如果要全部显示出来,考虑用group by havingselect * from table
where A,B,C in
( select A,B,C from table
group by A,B,C
having count(1) > 1
)