我有这个问题:
select top 5 * from tbl_post ORDER BY Id DESC
我想选择第20行之后的前5行。我怎么能这样做?
答案 0 :(得分:4)
使用OFFSET和FETCH MSDN OFFSET FETCH Clause:
SELECT * FROM tbl_post ORDER BY whatever OFFSET 20 ROWS FETCH NEXT 5 ROWS ONLY;
请注意,您必须按某种方式订购才能使用此功能,并且您无法同时使用top
答案 1 :(得分:2)
with x as (select row_number() over(order by id desc) as rn, * from tbl_post)
select t.*
from x join tbl_post t on x.id = t.id
where x.rn between 20 and 25
这是分配行号并选择稍后需要的行的最简单方法。
答案 2 :(得分:0)
使用OFFSET和LIMIT
{{1}}