有这样一组数据
a 1
a 1
a 2
a 2
a 2
a 3
等等
想得到这样的结果
a 1 0
a 1 1
a 2 0
a 2 1
a 2 2
a 3 0
想了半天了。。搞不定。望达人出手相助啊。多谢了

解决方案 »

  1.   

    OPER@TL>select * from test;AAA                         BBB
    -------------------- ----------
    a                             1
    a                             1
    a                             2
    a                             2
    a                             2
    a                             3已选择6行。OPER@TL>select aaa,bbb,row_number() over(partition by bbb order by bbb)-1 rn 
      2  from test;AAA                         BBB         RN
    -------------------- ---------- ----------
    a                             1          0
    a                             1          1
    a                             2          0
    a                             2          1
    a                             2          2
    a                             3          0已选择6行。