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 的语句 展开
比如 查询符合条件的 数据中的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 的语句 展开
4个回答
展开全部
select top n * from 表 where 主键 not in (select top m 主键 from 表)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select * from table where 字段 between m and n
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
--取中间记录的一般方法
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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询