姓名   编号  日期   次数
李四   001   2003
李四   001   2005
李四   001   2006
李四   001   2007
王五   002   2003
王五   002   2005
刘六   003   2007相同姓名、编号的人把日期先后把次数字段写上。
比如:姓名   编号  日期  次数
李四   001   2003   1
李四   001   2005   2
李四   001   2006   3
李四   001   2007   4
王五   002   2003   1
王五   002   2005   2
刘六   003   2007   1
谢谢

解决方案 »

  1.   

    定义表
    create #temp
    (
    姓名 varchar(20),
        次数 int --保存以编的 最大号
    )update的时候,把表和temp连接
      

  2.   

    select 姓名 , 编号 , 日期 , row_number() over(partition by 姓名 order by 日期) 次数  from Table  order by 姓名,日期
      

  3.   

    select name,no,date,(select count(*) from tb b where b.name=a.name and b.date<=a.date) from tb a
      

  4.   

    select A.*,(select count(*) from B where B.name=A.name and B.date <=A.date) from A
      

  5.   


    select 姓名, 编号, 日期, row_number() over(partition by 姓名 order by 姓名,日期) 次数  from Table
    select a.姓名, a.编号, a.日期, (select count(*) from Table b where a.姓名 = b.姓名 and b.日期 <= a.日期 ) 次数  from Table a