表TB的内容如下:aaa,  bbb
1 a
2 b
3 m
4 b
5 c
6 m
7 v
8 m
9 n希望的返回结果如下:
aaa,  bbb, ccc
1 a 1
2 b 1
3 m 1
4 b 2
5 c 1
6 m 2
7 v 1
8 m 3
9 n 1规则:按字段aaa排序,bbb字段第一次出现时,ccc=1, 第二次出现时, ccc=2...以此类推。

解决方案 »

  1.   

    declare @t table
    (
    aaa int,
    bbb char(1)
    )
    insert into @t
    select 1,'a' union all
    select 2,'b' union all
    select 3,'m' union all
    select 4,'b' union all
    select 5,'c' union all
    select 6,'m' union all
    select 7,'v' union all
    select 8,'m' union all
    select 9,'n'select *,(select count(1) from @t where aaa<=a.aaa and bbb=a.bbb) ccc
    from @t a/*
    aaa         bbb  ccc         
    ----------- ---- ----------- 
    1           a    1
    2           b    1
    3           m    1
    4           b    2
    5           c    1
    6           m    2
    7           v    1
    8           m    3
    9           n    1
    */
      

  2.   

    Select 
    a,
    b,
    (Select Count(*) From TB Where  bbb=A. bbb And aaa<=A. aaa) As ccc
    From TB A
      

  3.   

    declare @tb table (aaa char(10),bbb char(10))
    insert @tb select 1,'a'
    union select 2,'b'
    union select 3,'m'
    union select 4,'b'
    union select 5,'c'
    union select 6,'m'
    union select 7,'v'
    union select 8,'m'
    union select 9,'n'
    select * from @tbselect aaa,bbb,ccc=(select count(1) from @tb b where b.aaa<=a.aaa and b.bbb=a.bbb) from @tb a假设你的AAA字段是不重复的