如何取出表中的某个特定的行?
如何取出
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的帮助文档,里面有好多例子。
大概思路是:
先定义个游标,然后用一个循环读出被游标指向的数据。至于读第几行,你可以在循环里操作。