写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的

分别用SQL语句oracle语句写出来谢谢了... 分别用SQL 语句 oracle语句写出来 谢谢了 展开
 我来答
asd28269
2012-09-07 · 超过43用户采纳过TA的回答
知道小有建树答主
回答量:199
采纳率:0%
帮助的人:91.5万
展开全部
这就是个分页取值的原型...
31条到40条就是10条数据
select top 10 * from 表名 where id not in (select id from 表名 )
这样就可以过滤掉前面30条了,其中语句中的'id'值是用来过滤的,无论的你的ID是否连续,只要出现在子查询中的ID,主查询都会把他过滤掉,这样就可以实现31-40的查询了

望采纳
百度网友fc9fa9c
推荐于2017-10-08 · TA获得超过363个赞
知道小有建树答主
回答量:184
采纳率:0%
帮助的人:167万
展开全部
SQL语句为:
select * from A where ID >=31 and ID <= 40
ORACLE语句为:
select * from A where RowNum>=31 and RowNum<=40
ORACLE和SQL都能使用的是
select top 10 * from (select top 40 * from A order by ID) order by ID desc
或者是
select top 10 * from A where ID not in (select ID from top 30 from A)
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
钱多多qxh
2012-09-07
知道答主
回答量:27
采纳率:0%
帮助的人:11.1万
展开全部
sql:
select top 10 * from (select top 40 * from A order by A.ID)T
order by T.ID desc

orcal:
SELECT * FROM (SELECT ROW_.*, ROWNUM ROWNUM_ FROM (
SELECT * FROM A
)ROW_ WHERE ROWNUM <=40) WHERE ROWNUM_ > 31

望采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tjrmgs
2012-09-07 · TA获得超过5765个赞
知道大有可为答主
回答量:2161
采纳率:94%
帮助的人:1043万
展开全部
不好意思之前算错数,下面一句SQL代码返回第31到第40共10条记录,按自动ID升序排序:

SELECT T2.* FROM (SELECT TOP 10 T1.* FROM (SELECT TOP 40 * FROM TABLE1 ORDER BY ID)T1 ORDER BY T1.ID DESC) T2 ORDER BY T2.ID
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a387772965
2012-09-07 · 超过13用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:34.2万
展开全部
SELECT TOP 10 * FROM 表名 WHERE ID NOT IN(SELECT ID FROM TOP 30 FROM 表名)
肯定可以用。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式