共用方式為


OFFSET 子句

適用於:核取記號為「是」 Databricks SQL 核取記號為「是」 Databricks Runtime 11.3 LTS 和更新版本

略過語句或子查詢所傳回的數據列數目。 這個子句主要在與 LIMIT頁面 和結果 set搭配使用時,透過 ORDER BY 來產生具決定性的結果。

注意

使用 LIMIT 分頁瀏覽結果 set 時,略過的數據列仍然由 OFFSETget 處理。 這些數據列只會從結果 set隱藏 get。 不建議針對需要大量資源的查詢使用這項技術分頁。

語法

OFFSET integer_expression

Parameters

  • integer_expression

    傳回整數的正常值表達式。

範例

> CREATE TEMP VIEW person (name, age)
    AS VALUES ('Zen Hui', 25),
              ('Anil B' , 18),
              ('Shone S', 16),
              ('Mike A' , 25),
              ('John A' , 18),
              ('Jack N' , 16);

-- Select the 4th and 5th rows by alphabetical order.
> SELECT name, age FROM person ORDER BY name LIMIT 2 OFFSET 3;
  Mike A  25
 Shone S  16

-- Specifying ALL option on LIMIT and an OFFSET of zero, returns all the rows.
> SELECT name, age FROM person ORDER BY name LIMIT ALL OFFSET 0;
  Anil B  18
  Jack N  16
  John A  18
  Mike A  25
 Shone S  16
 Zen Hui  25

-- A constant function expression as an input to OFFSET.
> SELECT name, age FROM person ORDER BY name OFFSET length('SPARK');
 Zen Hui  25

-- A non-literal expression as an input to OFFSET is not allowed.
> SELECT name, age FROM person ORDER BY name OFFSET length(name);
Error: The offset expression must evaluate to a constant value