还要分文理科(kl),文科编完后,再新增一个考室开始编
tot  kl ksh
90   w  0101
80   w  0102 
70   w  0103
60   w  0104
90   l  0201
81   l  0202
80   l  0203 
79   l  0204

解决方案 »

  1.   

    select * into # from tablename order by kl,tot descdeclare @ks int
    declare @zw int
    declare @kl varchar(10)
    select top 1 @kl=kl from #
    set @ks=1
    set @zw=0update #
    set @ks=case when @kl=kl then
              case when @zw>=30 then @ks+1
              else @ks
              end
            else @ks+1
            end,
        @zw=case when @kl=kl then
              case when @zw>=30 then 1
              else @zw+1
              end
            else 1
            end,
        ksh=right('0'+cast(@ks as varchar(3)),2)+right('0'+cast(@zw as varchar(3)),2),
        @kl=klselect * from #
      

  2.   

    随机生成?把
    select * into # from tablename order by kl,tot desc
    改成
    select * into # from tablename order by kl,newid()