
sql从查询结果中选择中间某部分记录
5个回答
展开全部
我说1个笨方法哈
select top 300 * into #table from table order by 排序条件
delete top 199 * from #table order by 排序条件
select * from #table order by 排序条件
说明:
这是用虚拟表写的,方法比较笨,简单的铁定会有,你多想想
我是采取取出来目的记录,然后过滤掉不要的记录,剩下的就是你想要的了
因为你是要200~300条,所以必须要有按什么来排序的条件,排序不同,结果也不同的
你试试,OK,请采纳

2024-09-02 广告
Play Video 七鑫易维是致力于机器视觉和人工智能领域的高新科技企业,迄今已专注眼球追踪技术的研发、创新与应用超过14年,拥有完全自主知识产权,全球专利总量655余项。 作为眼球追踪技术领域的全球知名品牌,七鑫易维的产品体系覆盖眼动分...
点击进入详情页
本回答由七鑫易维信息技术提供
展开全部
select t.* from
(select row_number() over (order by 任意字段) rn,表名.* from 表名) t
where rn between 200 and 300
什么数据库
sqlserver或oracle的话用上边的吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select * from
(select ROWNUM r, userid,username from table_a order by userid) t
where t.r>=200 and r<= 300;
改一下表名,字段名就行
利用rownum虚列做子查询
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select * from [table] limit m,n
select * from [table] limit 200,100
M是从第几行开始,N是+几行
select * from [table] limit 200,100
M是从第几行开始,N是+几行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sqlserver:
with t as ( select top 300 row_number() over(order by 字段) r, * from 表)
select * from t where r>=200
oracle:
with t as ( select rownum r, * from 表 where rownum<=300 )
select * from t where r>=200
mysql:
select * from 表 limit 199,100
db2:
with t as ( select row_number() over(order by 字段) r, * from 表 fetch frist 300 rows only)
select * from t where r>=200
其中 sqlserver\oracle\db2也可直接
with t as (select row_number() over(order by 字段) r, * from 表)
select * from t where r between 200 and 300
with t as ( select top 300 row_number() over(order by 字段) r, * from 表)
select * from t where r>=200
oracle:
with t as ( select rownum r, * from 表 where rownum<=300 )
select * from t where r>=200
mysql:
select * from 表 limit 199,100
db2:
with t as ( select row_number() over(order by 字段) r, * from 表 fetch frist 300 rows only)
select * from t where r>=200
其中 sqlserver\oracle\db2也可直接
with t as (select row_number() over(order by 字段) r, * from 表)
select * from t where r between 200 and 300
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |