日期:2014-05-18  浏览次数:20463 次

第一次提问,各位大大多担待
tab1:(一个字段)                               tab2
    A                                                   A                     B
  100                                               100               20070822-001
  100                                               100               20070822-001
  211             变成这样子               211               20070822-002
  211                 --------》           211               20070822-002
  211                                               211               20070822-002  
  123                                               123               20070822-003
  123                                               123               20070822-003
    .                                                   .                     .
    .                                                   .                     .
    .                                                   .                     .
解释一下,就是新生成一列(B)
B字段是   今天的日期+‘-’+数字     ),只要A字段发生一次变化,后面的数字就+1
我是设个变量每次比较的,觉得不好。请高手指点一下,tab1也比较大,就认为有几十万行好了,最好效率高一点,谢谢。


------解决方案--------------------
看看这个对你有没有用?


sqlserver 有如下数据

ID
0001
0001
0002
0002
0001
0001

实现效果

ID
0001
0002
0001

只有相邻的数据进行筛选!怎么处理啊,谢谢大家了!


declare @a table( ID varchar(5))
insert into @a
select '0001 ' union all
select '0001 ' union all
select '0002 ' union all
select '0002 ' union all
select '0001 ' union all
selec