select aa,bb,
dense_rank() over( partiton aa order by bb) rank from tbl

解决方案 »

  1.   

    to: welyngj(平平淡淡) 
    俺的版本是8.05,好象不能用你写的
      

  2.   

    select tab.*,mod(rownum-1,3)+1 as cc from tab
      

  3.   

    to:  yydelphi() 
    一个组的个数是不定的,不是3个一组!急救!!!
      

  4.   

    select x.aa,x.bb,x.cc-y.cc+1
    from 
    (
    select rownum cc,aa,bb
    from 
    (
    select *
    from table 
    order by aa,bb
    )
    ) x,
    (
    select aa,min(rownum) cc
    from 
    (
    select *
    from table 
    order by aa,bb
    )group by aa
    ) y
    where x.aa=y.aa