火龙果苹果雪梨汁:SQL 2000列表中显示特定的行(例如6-11行)

来源:百度文库 编辑:中科新闻网 时间:2024/05/11 15:14:10
显示1到6行,7到12行,请问有什么sql查询语句进行查询!!!()

sql server中没有类似于oracle中用来表示行号的“rownum”这样的关键字,所以只能自行构造一个来完成查询指定行的功能。如果在建表时就定义了一个自动递增的行号列问题就简单了,但有时表中没有定义这样的列,那就只能用其它办法来处理。

有一种思路是给要查询的表临时增加一个行号列,保存在一个临时表中,然后从这个临时表查询需要的指定行数据,查询完成后删除临时表。用下面的语句实现:

1、用IDENTITY函数给表tablename构建带行号的临时表#temp:

select IDENTITY(int,1,1) as ROWNUM,* into #temp from tablename

2、从临时表中查询第6~11行的数据:

select * from #temp where ROWNUM between 6 and 11

3、删除临时表#temp:

drop table #temp

但这个方法对于很大的表肯定比较消耗资源,因为要复制出一个同样的表来。看看哪位高人有更好的方法来实现。