SELECT orderid, orderdate, custid, empid

FROM Sales.Orders

ORDER BY orderdate, orderid

OFFSET 600 ROWS FETCH NEXT 25 ROWS ONLY;

此查询按orderdateorderid顺序(订单日期从最远到最近,并添加了决胜属性(tiebreaker)orderid)排序Orders表中的行。基于此顺序,OFFSET子句跳过前50行,由FETCH子句仅筛选下面的25行。

请注意,使用OFFSET-FETCH的查询必须具有ORDER BY子句。此外,FETCH子句不支持没有OFFSET子句。如果你不想跳过任何行,但是希望使用FETCH筛选,你应当使用OFFSET 0 ROWS来表示。不过,没有FETCHOFFSET是允许的,这种情况是跳过指定的行数,并返回查询结果中所有剩余行

 

从支持跳过功能看,OFFSET-FETCH子句比TOP子句更灵活。不过,OFFSET-FETCH 不支持PERCENTWITH TIES选项,而TOP支持。由于OFFSET-FETCH是标准的,而TOP不是,我建议使用OFFSET-FETCH作为你的默认选择,除非你需要TOP支持且OFFSET-FETCH不支持的功能。

相关文章:

  • 2021-09-24
  • 2021-06-01
  • 2022-12-23
  • 2021-12-30
猜你喜欢
  • 2021-10-31
  • 2022-12-23
  • 2022-12-23
  • 2021-12-26
  • 2021-05-27
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案