数据库问题,求帮忙解答

MySql 码拜 4年前 (2016-02-19) 212次浏览
取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。
select top 10 * from T_number where id >(select max(id) from (select top 30 id from T_number)as T_number )  为什么本人取到的max(id)值是全表中最大的不是前30条最大的
解决方案

40

mssql 2012:
select * from T_number order by id OFFSET 30 ROW FETCH NEXT 10 rows only
mssql 2005:
; with tb as
(
select  row_number() over(order by id) as rowid,  *  from T_number
)
select * from tb where rowid  between 31 and 40

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明数据库问题,求帮忙解答
喜欢 (0)
[1034331897@qq.com]
分享 (0)