https://cloud.google.com/bigquery/docs/reference/standard-sql/functions-and-operators#lag
함수, 연산자, 조건부 | BigQuery | Google Cloud
cloud.google.com
LAG 함수와 LEAD 함수는 행 간 차이 계산, 이전/다음 행 값 가져오기, 행 간 계산, 행 간 값 연산 등의 기능을 할 수 있는 함수입니다.
SQL로 전처리를 하다보면, 이전 값이나 다음 값이 필요하거나 각 값을 연산해야 할 때가 많은데, 그때마다 피벗 테이블을 만들어서 열 간 연산을 하기에는 용량 / 쿼리문의 길이 등이 너무 비효율적이라는 생각이 들더라구요 :(
위 링크는 LAG, LEAD 함수의 빅쿼리 공식 위키입니다 :)
1. 사용 문법
LAG(불러올 항목,오프셋) OVER(행의 그룹 조건 지정)
ex) lag(date) over(partition by key order by date)
: key값의 이전 일자를 가져오는 함수 (사용자의 이전 접속 일자, 과거 결제 일자 등을 뽑을 때)
- partiton by의 경우, 별도 그룹이 필요하지 않을 경우 지정하지 않아도 무방합니다.
'SQL' 카테고리의 다른 글
[Intro] 코드 뷰어 프로그램 추천 Visual Studio Code (0) | 2023.06.03 |
---|---|
[BigQuery] 순위 관련 함수 (0) | 2021.06.15 |