导航
  • 主页
  • 基础类
  • 应用实例
  • 新技术前沿

SQL语句查询问题

zhjxingxing 2003-12-16 03:30:04
我想分十次得到查询结果
select * from 表名 where (其他条件) and id in (select top 20 id from 表名)
这样只能得到头20行里查询的结果,如何得到20至40行的结果,及40至60行等等
...全文
3 点赞 收藏 6
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Rotaxe 2003-12-16
select top 20 * from 表名 where (其他条件) and id in (select top 40 id from 表名 where (其他条件) order by id ) order by id desc
回复
wzh1215 2003-12-16
楼上的错了,如果一定要用变量的话,也只能用动态语句执行!
exec('select top '+@PAGES+' * from 表名 where (其他条件)
and id NOT in (select top '+@NO*20+' id from 表名 where (其他条件))')
回复
victorycyz 2003-12-16
select top 21 * from tablename a left join (select top 19 id from tablename) b on a.id=b.id where b.id isnull
回复
1ssp 2003-12-16
DECLARE @PAGES INT,@NO INT
set @pages=20
set @no=2
--@PAGES 行数,@NO 第几页
select top @PAGES * from 表名 where (其他条件)
and id NOT in (select top @NO*20 id from 表名 where (其他条件) )
回复
1ssp 2003-12-16
DECLARE @PAGES INT,@NO INT
@PAGES 行数,@NO 第几页
select top @PAGES * from 表名 where (其他条件)
and id NOT in (select top @NO*20 id from 表名 where (其他条件) )
回复
wzh1215 2003-12-16
20-40
select * from 表名 where (其他条件) and id in (select top 20 id from 表名 where id not in (select top 20 id from 表名))
40-60
select * from 表名 where (其他条件) and id in (select top 20 id from 表名 where id not in (select top 40 id from 表名))

回复
发动态
发帖子
MS-SQL Server
创建于2007-09-28

3.2w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
社区公告
暂无公告