A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 孙铭泽 中级黑马   /  2012-8-23 22:31  /  2842 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

4. 写出一条 Sql 语句: 取出表 A 中第 31 到第 40 记录(SQLServer, 以自动增长的 ID 作为 主键, 注意:ID 可能不是连续的. )
我的理解:
  【select top 10 * from A where id > (select max(id) from (select top 30 id from A )as A)】

4 个回复

正序浏览
楼主的那种写法也对,也可以这样:
select top 10 * from A where id not in (select top 30 id from A)
回复 使用道具 举报
select *from(select row_num()over(order by id)rownum from A)t where t.rownum>=31 and t.rownum<=40
这个思路,不知道对不对
回复 使用道具 举报
我现在没有sqlserver环境,所以没运行,我写了两个分页语句,楼主看下,
        分页一:select top 10 * from student where id not in(select top 30 id from student);
        分页二select top 10 * from (select row_number() over(order by id)as rownumber,* from student)a where rownumber>30
其实还有一种分页,但我不常用,就不写了,如有错误,敬请原谅
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马