select 
    a.* 
from 
    表 a 
where 
    (a.Field1,a.Field2)=(select (Field1,Field2) 
                         from 表 
                         where ID1=a.ID1 and ID2=a.ID2 and ID3=a.ID3 and rownum=1)

解决方案 »

  1.   

    select * from tb a where ID1 ='01' and not exists
    (select 1 from tb where ID1='01' and id3=a.id3 and id2<a.id2 );
      

  2.   

    select * from 
    (
    select ID1, ID2 , ID3 ,  Field1 , Field2,row_number()over(partition by id3 order by id2) as rn
    from a)
    where rn=1
      

  3.   

    select * from
    (
    select ID1, ID2 , ID3 , Field1 , Field2,row_number()over(partition by id3 order by id2) as rn
    from a where ID1 ='01')
    where rn=1