sybase 中怎样查询 数据表中的m到n条记录?用一条sql(可以嵌套子查询) 80

sybase中怎样查询数据表中的m到n条记录?用一条sql(可以嵌套子查询)比如查询符合条件的数据中的300-500条记录。我要的是:我找到了x条符合要求的记录(不是按主... sybase 中怎样查询 数据表中的m到n条记录?用一条sql(可以嵌套子查询)
比如 查询符合条件的 数据中的300-500条记录。
我要的是:我找到了 x条符合要求的记录(不是按主键排序) 取其中的m-n条记录, m和n 是行号 而不是 某一字段 .另外必须是sybase中可执行的 oracle和sql server的不需要
可以理解成 无主键的表 我要取 行号m开始到行号n结束的 记录 根任何一个字段一点关系都没有 类似 oracle 里 rowid 的作用 现在的结果都不是我想要的
我上面的说明可能不够明白 在补充下
表例: create table test{ ziduan int }
ziduan
2
5
3
6
7
1
9
4

我要取3-6条记录 不排序情况下出的结果应该是 select * from test where (m-n):
3
6
7
1
排序的情况下出的结果应该是 select * from test where (m-n) order by ziduan
3
4
5
6

sybase 和 sql server 以及oracle 还是有较大区别的 请给出我 sybase 的语句
展开
 我来答
snkm
2008-07-15 · TA获得超过1033个赞
知道小有建树答主
回答量:753
采纳率:0%
帮助的人:570万
展开全部
如果你的查询结果是按某字段固定排序的(记录在表中的序号是固定的),可以用二楼的方法,不过应该写成:
select top n-m * from 表 where 主键 not in (select top m 主键 from 表)

这才是从m+1至n行的记录,二楼写的是从m+1开始的n行记录
hellokittywxp
2008-07-15 · TA获得超过174个赞
知道答主
回答量:101
采纳率:0%
帮助的人:0
展开全部
select top n * from 表 where 主键 not in (select top m 主键 from 表)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
badkano
2008-07-14 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144777 获赞数:885359
团长

向TA提问 私信TA
展开全部
select * from table where 字段 between m and n
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
笨小孩355
2021-07-17
知道答主
回答量:3
采纳率:0%
帮助的人:2208
展开全部
--取中间记录的一般方法
select top 1 sno into #S from student
select top 2* into #S1 from student

select t1.*
from #S1 t1
left outer join #S t2
on t1.sno=t2.sno
where t2.sno is null
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式