一个关于SQL查询的问题

[复制链接]
查看11 | 回复1 | 2005-10-30 17:05:33 | 显示全部楼层 |阅读模式
在查询时,假如要得到第N条到第NX条的记录,用SQL语句该怎么写?[没有什么特殊的字段和记录,是随意的表]
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
SQL SERVER里面没有太好的方法,以前半月沉湾斑竹做过总结如下:
四种方法取表里n到m条纪录:
1.
select top m * into 临时表(或表变量) from tablename order by columnname -- 将top m笔插入
set rowcount n
select * from 表变量 order by columnname desc

2.
select top n * from
(select top m * from tablename order by columnname) a
order by columnname desc

3.如果tablename里没有其他identity列,那么:
select identity(int) id0,* into #temp from tablename
取n到m条的语句为:
select * from #temp where id0 >=n and id0 <= m
如果你在执行select identity(int) id0,* into #temp from tablename这条语句的时候报错,那是因为你的DB中间的select into/bulkcopy属性没有打开要先执行:
exec sp_dboption 你的DB名字,'select into/bulkcopy',true

4.如果表里有identity属性,那么简单:
select * from tablename where identitycol between n and m

由 magicangel 于 03-11-15 18:46 最后编辑
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行