这个也有挑战?你的123679这个数据是怎么来的?有规律不?只要有规律的就没什么难度。
规律在图片上啊 瞅一眼 *_*
@_张生: 哈,看明白了。我看下是否有简洁的解决方案。实在不行可能就只有使用临时表了。
@_张生:
下面代码是一个设计的代码,可惜这段代码在SQL执行不了:
declare @v nvarchar(50) set @v = ''; SELECT TOP 1000 [id] ,@v = [value] FROM [tempdb].[dbo].[test] where [value] <> @v
如能找到类似的代码应该是可行的。
@_张生:
以下代码简单达到了目的:
declare @v nvarchar(50) declare @id int declare @flag bit set @flag = 1; set @id=0; set @v = ''; WHILE @flag = 1 begin set @flag = 0 SELECT TOP 1 @id = [id] , @flag = 1 , @v = [value] FROM [tempdb].[dbo].[test] where [value] <> @v and id > @id order by id asc if @flag = 1 begin select @id as id, @v as value end end
但结果却是惨不忍睹!
我调试了下,如果使用DATASET,那么每条记录一个表,如果直接使用DBREADER,则只有第一个表的记录。
看来,只有使用临时表来解决这个问题了。
@笨笨蜗牛:感谢你的耐心啊 自己解决咯 3ks
@_张生: HOHO,把你的方案说出来看看。
SELECT ROW_NUMBER() OVER (ORDER BY EMPID ASC) AS ROWID, * FROM EMPLOYEE where rowid in (1,2,3,6,7,9)
把表名和字段改一下试试。
数据几万行啊 ==