展开全部
楼上的括号用错了
select * from tab_1 where id in
(select top 40 id from tab_1 )
and id not in
(select top 30 id from tab_1 )
这样可以,不过如果数据表里数据量很大的话用not in会有效率问题,那种情况就不建议用sql全部完成
可以用语句
select top 40 * from tab_1 order by id desc
建立游标,用程序只取40-30之间的数据
select * from tab_1 where id in
(select top 40 id from tab_1 )
and id not in
(select top 30 id from tab_1 )
这样可以,不过如果数据表里数据量很大的话用not in会有效率问题,那种情况就不建议用sql全部完成
可以用语句
select top 40 * from tab_1 order by id desc
建立游标,用程序只取40-30之间的数据
展开全部
思路:取前40条记录,然后取该记录集中的前30条记录之外的10条。前提是有个不重复的ID字段
select * from where id not in
(select top 30 id from
(select top 40 * from tb_1 )as A
)
select * from where id not in
(select top 30 id from
(select top 40 * from tb_1 )as A
)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
那就按序号查询不就可以了?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询