怎样查询指定行范围的记录
例如1到10条、2-5条、5-结尾、开头-10
求简化的方法
问题点数:100、回复次数:6Top
1 楼xluzhong(Ralph)回复于 2005-03-16 10:42:17 得分 80
参考:
http://blog.csdn.net/xluzhong/articles/277598.aspxTop
2 楼fanny_20(独钓秋水)回复于 2005-03-16 10:44:14 得分 0
游标是可以的.
但是会写的太死.
我不知道是否有更好的办法.
期待ing.Top
3 楼paoluo(一天到晚游泳的鱼)回复于 2005-03-16 10:53:38 得分 10
你的表里面如果没有ID这样的字段??就用临时表吧
select IDD=identity(int,1,1),* into #t from table
select * from #T Where IDD Between 1 And 10
select * from #T Where IDD Between 2 And 5
select * from #T Where IDD Between 5 And (Select Max(IDD) from #T)
Drop table #TTop
4 楼blueonly(认真编程,低调生活。)回复于 2005-03-16 11:00:19 得分 0
回复人: xluzhong(打麻将一缺三,咋办?) ( ) 信誉:100
的方法比较喜欢。
————————————————————————————————————————
2.如果table1中col1的值唯一,也可以如下
select top 2000 * from table1 where col1 not in (select top 1000 col1 from table1)
Top
5 楼softj(天地客人<最近很迷茫>)回复于 2005-03-16 11:12:00 得分 5
开头到N条记录
Select Top N From 表
-------------------------------
N到M条记录(要有主索引ID)
Select Top M-N * From 表 Where ID in (Select Top M ID From 表) Order by ID Desc
----------------------------------
N到结尾记录
Select Top N * From 表 Order by ID DescTop
6 楼jiang130(Hong)回复于 2005-03-16 11:16:15 得分 5
要有用于排序的字段(如ID)
SELECT * FROM TABLE A WHERE (SELECT COUNT(*) FROM TABLE WHERE ID<=A.ID) BETWEEN 10 AND 20Top





