다음을 통해 공유


OFFSET 절

적용 대상:검사 '예'로 표시 Databricks SQL 검사 '예'로 표시 Databricks Runtime 11.3 LTS 이상

명령문 또는 하위 쿼리에서 반환한 여러 행을 건너뜁니다. 이 절은 대부분 LIMIT와 함께 사용되어 결과 집합을 페이징하고, ORDER BY와 함께 사용되어 결정적 결과를 생성합니다.

참고 항목

LIMITOFFSET을 사용하여 결과 집합을 페이징할 때, 건너뛴 행은 여전히 처리됩니다. 이러한 행은 결과 집합에 표시되지 않습니다. 리소스 사용량이 많은 쿼리에는 이 기술을 사용한 페이지 매김을 사용하지 않는 것이 좋습니다.

구문

OFFSET integer_expression

매개 변수

  • 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