取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。

2024-12-12 00:25:22
推荐回答(1个)
回答1:

即然ID是不连续的,那么再创建一个类似ID的连续值字段[CNTS]

select *
from
(
    -- 生成一个带有连续值字段的表
    select *
        ,cnts=(select count(0) from tableA where id <=x.id)
    from tableA x
) a1
-- 查询 31-40 之间的数据
where cnts between 31 and 40