日期:2014-05-17  浏览次数:20932 次

在oracle中查询三个字段
在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语句

------解决方案--------------------
用滤重语句就可以了。

SQL code
select * from table
    where rowid not in
        (select max(rowid) from table
                group by A,B,C)

如果要全部显示出来,考虑用group by having

select * from table 
  where A,B,C in
( select A,B,C from table
                group by A,B,C
           having count(1) > 1
  )

------解决方案--------------------
上午的回帖 没达到效果么?