问题描述
- 数据库基础问题求帮忙
-
取出表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条最大的
解决方案
row_number(),用这个取得行号,然后从这个结果集中去你要的范围,比如
select id from (select row_number(xxxxx) as id from xxxx) T where id between 30 and 40
时间: 2024-10-02 02:16:33