SQL中,查询一个表中的第10--100条之间的数据怎么写??

 我来答
luanqibazao227
推荐于2018-04-26 · TA获得超过1.6万个赞
知道大有可为答主
回答量:6109
采纳率:57%
帮助的人:3343万
展开全部
这个主要是看你用的哪个数据库了
不同的数据库有差异。
在mysql和oracle里面用如下方法最简单
select * from table LIMIT 10,100;

而在sqlserver中由于不支持limit只用其他方法啦:
当此表有主键时:
select top 100 * from 表 where 主键 not in(select top 10 主键 from 表)
如果表中无主键:
可以用临时表,加标识字段解决.这里的x,y可以用变量.
select id=identity(int,1,1),* into #tb from 表
select * from #tb where id between 10 and 100
guliaoyong
2011-02-26 · 超过18用户采纳过TA的回答
知道答主
回答量:63
采纳率:0%
帮助的人:27.4万
展开全部
有没有ID列?根据什么排序的?是否包含10和100?假设排序列是不连续或不是数字列,可以这样:
从前100条中排除前10条(11-100)
select top 100 * from table where id not in (select top 10 id from table order by id asc) order by id asc
从前100条中获取倒数90条,不过这样查出来是倒序的(100-11)
select top 90 * from (select top 100 * from table order by id asc) as t order by id desc
给每条数据加上一个连续的ID列(11-100)
select top 90 * from
(select top 100 row_number() over(order by id) as rowID,* from table order by id asc) t
where rowid between 11 and 101
还有很多方法,比如:查询到临时表,添加自动增长列;使用 exists等....
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lqefn
推荐于2017-11-24 · TA获得超过2655个赞
知道小有建树答主
回答量:3345
采纳率:0%
帮助的人:1720万
展开全部
不同的数据库有不同的用法,mysql、postgresql用limit 100 offset 10;
mssql 用可以top 110 反序再top 100 再序
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lzx2150
2011-02-26
知道答主
回答量:16
采纳率:0%
帮助的人:5.3万
展开全部
利用分页查询方法就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式