OFFSET 절
적용 대상: Databricks SQL Databricks Runtime 11.3 LTS 이상
명령문 또는 하위 쿼리에서 반환한 여러 행을 건너뜁니다.
이 절은 대부분 LIMIT와 함께 사용되어 결과 집합을 페이징하고, ORDER BY
와 함께 사용되어 결정적 결과를 생성합니다.
참고 항목
LIMIT
및 OFFSET
을 사용하여 결과 집합을 페이징할 때, 건너뛴 행은 여전히 처리됩니다.
이러한 행은 결과 집합에 표시되지 않습니다.
리소스 사용량이 많은 쿼리에는 이 기술을 사용한 페이지 매김을 사용하지 않는 것이 좋습니다.
구문
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