다음을 통해 공유


lag 분석 창 함수

적용 대상: 예로 표시된 확인 Databricks SQL 예로 표시된 확인 Databricks Runtime

파티션 내의 이전 행에서 expr의 값을 반환합니다.

구문

lag( expr [, offset [, default] ] ) [ IGNORE NULLS | RESPECT NULLS ] OVER clause

인수

  • expr: 모든 형식의 식입니다.
  • offset: 오프셋을 지정하는 선택적 INTEGER 리터럴입니다.
  • default: expr과 같은 형식의 식입니다.
  • IGNORE NULLS 또는 RESPECT NULLS: 지정된 경우 IGNORE NULLS NULL인 값 expr 은 무시됩니다. 기본값은 RESPECT NULLS입니다.
  • OVER 절: 창 설명을 설명하는 절입니다. 참조: 창 함수.

반품

결과 형식이 expr과 일치합니다.

offset이 양수이면 값은 OVER 절에서 ORDER BY를 지정한 offset에 의해 현재 행보다 앞선 행에서 시작됩니다. 오프셋 0은 현재 행의 값을 사용합니다. 음수 오프셋은 현재 행 다음 행의 값을 사용합니다. offset을 지정하지 않으면 바로 다음 행인 1이 기본값으로 설정됩니다.

파티션 내 지정된 오프셋에 행이 없으면 지정된 default가 사용됩니다. default 기본값은 NULL입니다. ORDER BY 절을 제공해야 합니다.

이 함수는 lead(expr, -offset, default)와 동의어입니다.

예제

> SELECT a, b, lag(b) OVER (PARTITION BY a ORDER BY b)
    FROM VALUES ('A1', 2), ('A1', 1), ('A2', 3), ('A1', 1) tab(a, b);
 A1 1   NULL
 A1 1   1
 A1 2   1
 A2 3   NULL