通过 OFFSET-FETCH 子句,您可以从结果集中仅提取某个时间范围或某一页的结果。OFFSET-FETCH 只能与 ORDER BY 子句一起使用。
如下,从排序的结果集中跳过前2行并返回接下来的2行,可以通过ROW_NUMBER()来实现,但通过SQL2012的新特性OFFSET来实现更为简便;如果要从排序的结果集中跳过前2行并返回剩余的行,则只需将下面示例当中的FETCH NEXT 2 ROWS ONLY去掉即可。
SELECT LOADID,LOADQT
FROM LOAT
ORDER BY SHPDAT,SHPTIM
OFFSET 2 ROWS
FETCH NEXT 2 ROWS ONLY;
SELECT LOADID,LOADQT
FROM (
SELECT ROW_NUMBER() OVER(ORDER BY SHPDAT,SHPTIM) AS SEQ, LOADID,LOADQT
FROM LOAT) AS TempTable
WHERE SEQ > 2 and SEQ <= 4