SQL Server 2012可编程性新特性_2_OFFSET

时间:2022-01-01 08:59:33

通过 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


 

SQL Server 2012可编程性新特性_2_OFFSET