数据结构
编号 编号1 数量
0901       12
0901       23
0901       11
0902       19
0903       12
0903       12
0903       12
0903       12
0903       12
0903       12
0903       12
根据编号的值和个数得到编号1的值,得到的结果应该是下面的:
编号 编号1 数量
0901   1    12
0901   2    23
0901   3    11
0902   1    19
0903   1    12
0903   2    12
0903   3    12
0903   4    12
0903   5    12
0903   6    12
0903   7    12
用sql语句应该怎么写呢

解决方案 »

  1.   

     select 编号,编号1= row_number() over(partition by 编号 order by 编号),数量 from 表
      

  2.   

    select 编号,编号1= row_number() over(partition by 编号 order by 数量 ),数量 from 表
      

  3.   

    select 编号,编号1= row_number() over(partition by 编号 order by 数量 ),数量 from 表 
      

  4.   

    --2000
    ALTER TABLE TB
    ADD ID INT IDENTITY
    GO
    SELECT 编号,编号1=(SELECT COUNT(*) FROM TB WHERE 编号=T.编号 AND ID<=T.ID) FROM TB T
    GO
    ALTER TABLE TB
    DROP COLUMN ID
      

  5.   

    再问一下
    数据结构 
    编号 编号1 数量 
    0901      12 
    0901      23 
    0901      11 
    0902      19 
    0903      12 
    0903      12 
    0903      12 
    0903      12 
    0903      12 
    0903      12 
    0903      12 
    根据编号的值和个数得到编号1的值,得到的结果应该是下面的: 
    编号 编号1 数量 
    0901  1    12 
    0901  1    23 
    0901  1    11 
    0902  2    19 
    0903  3    12 
    0903  3    12 
    0903  3    12 
    0903  3    12 
    0903  3    12 
    0903  3    12 
    0903  3    12
    如果是这样用sql语句应该怎么写呢