rowid是系统给你生成的,每一行有一个,并且各不相同.
所以你上面的那个语句它就按照你的字段相等,rowid小于最大的那个rowid的记录删除了.

解决方案 »

  1.   

    执行过程是这样的,系统在首先用system.student a 和system.student b关联进行查询,在表中把no和name和grade都相等的记录找出来(把rowid也查出来),然后把小于最大那个rowid的记录删除
      

  2.   

    楼上俩位说的没错,在oracle中删除重复记录就是这样的!!!!
      

  3.   

    是system.student表的自关联,最终的结果是保留rowid最大的一个罢了.