SQL> select rowid,bm,mc from a;

ROWID              BM   MC
------------------ ---- -------
000000D5.0000.0002 1111 1111
000000D5.0001.0002 1112 1111
000000D5.0002.0002 1113 1111
000000D5.0003.0002 1114 1111
000000D5.0004.0002 1111 1111
000000D5.0005.0002 1112 1111
000000D5.0006.0002 1113 1111
000000D5.0007.0002 1114 1111

查询到8记录.

 select rowid,bm,mc from a where a.rowid!=(select max(rowid) from a, b where a.bm=b.bm and a.mc=b.mc);

解决方案 »

  1.   

    SQL> select rowid,bm,mc from a where a.rowid!=(select max(rowid) from a, b where a.bm=b.bm and a.mc=b.mc);

    ROWID              BM   MC
    ------------------ ---- --------------------
    000000D5.0000.0002 1111 1111
    000000D5.0001.0002 1112 1111
    000000D5.0002.0002 1113 1111
    000000D5.0003.0002 1114 1111
      

  2.   

    SQL> select * from temp;
           NUM
    ----------
             1
             2
             3
             1
             3
             4
             2
             1已选择8行select NUM,count(*) from temp group by num having count(*)>1 ;       NUM   COUNT(*)
    ---------- ----------
             1          3
             2          2
             3          2
      

  3.   

    谢谢各位:我是有了思路。我也挺赞成lee_billiy(思思)的想法。我再提个需求。
    如果有一表student。有城市city、姓名name、年龄三个字段age,我想所有同年龄段的人的记录都查出来(也就是说不没有和这个人的年龄相同的就不算).还请大家多帮忙。我想用自连接。比知道能不能实现啊
      

  4.   

    SQL> select a2 from a;A2
    ----------
    1
    2
    3
    1
    2
    1
    2
    4
    39 rows selectedSQL> select a2,sum(1) count from a group by a2;A2              COUNT
    ---------- ----------
    1                   3
    2                   3
    3                   2
    4                   1SQL> count 大于1的有重复,并且count就是重复的数量。
      

  5.   

    检索有重复的纪录SQL> select * from a;A1         A2         A3
    ---------- ---------- ----------
    1          1          北京
    1          2          上海
    1          3          广州
    2          1          飞机
    2          2          火车
    3          1          产品1
    3          2          产品2
    3          4          产品4
    3          3          产品39 rows selectedSQL> select a.* from a,(select a2,sum(1) C from a group by a2) b where a.a2=b.a2 and c>1;A1         A2         A3
    ---------- ---------- ----------
    1          1          北京
    2          1          飞机
    3          1          产品1
    1          2          上海
    3          2          产品2
    2          2          火车
    1          3          广州
    3          3          产品38 rows selectedSQL>
      

  6.   

    可以用以下的方法SELECT * FROM(SELECT COUNT(*) AS REP,FILED1,FILED2 FROM A GROUP BY FILED1,FILED2)WHERE REP>1;