select t.*
from 表1 t
where a2 =(select max(a2) from  表1 group by a1)

解决方案 »

  1.   

    不好意思,刚才题目看错了
    SELECT *
    FROM 表1,
    where ROWNUM =
    (SELECT ROWNUM  FROM 表1 T where a2 =(select max(a2) from  表1 group by a1)) 
      

  2.   

    SELECT T.a1,
           T.a2,
           T.a3
    FROM   表1  T,
    (select a1, max(a2) a2 from  表1 group by a1) A
    where  T.a1=A.a1
    and    T.a2=A.a2
    这回应该没问题了!!!
      

  3.   

    SQL> select * from (select a1, max(a2) over(partition by a1 order by a2 desc) as
     maxa ,a2, a3 from tab_name) where maxa = a2;