日期:2014-05-19  浏览次数:20411 次

如何取出表中的某个特定的行?
如何取出
select   top   5   *   from   article   order   by   AddTime   desc
中的第二行数据?

------解决方案--------------------
记录并没有固定的“行”的概念。SQL Server在你没有给出“order by”的时候,如果有主键列,可能会按照主键列排列。否则就大概没有任何保证行顺序的办法——记录本质上都是以随机方式插入磁盘块的。

如果你要取出某个行,给这个行一个“标识唯一”的业务定义,然后使用where条件去查询。
------解决方案--------------------
考虑把你查到的数据放入一张临时表或变量表里(指定一个自增的主键)
------解决方案--------------------
select ID=identity(int,1,1),* into #test1 from usertable

select * from #test where ID=3
------解决方案--------------------
自己定义个标识,也就是所谓的行号
------解决方案--------------------
这个很简单,用游标就行了。
你可以查一下sql server的帮助文档,里面有好多例子。

大概思路是:
先定义个游标,然后用一个循环读出被游标指向的数据。至于读第几行,你可以在循环里操作。