시작하기무료로 시작하기

이전 행의 값 접근하기

쿼리에서 LAG() 함수를 사용하면 현재 행보다 앞선 행들의 값에 접근할 수 있어요.

문법은 다음과 같아요: LAG(numeric_expression) OVER ([PARTITION BY column] ORDER BY column)

이번 연습에서는 이 함수를 쿼리에 사용해 볼 거예요. "Fruition"이라는 회사가 생산한 초콜릿 바의 평점을 분석합니다.

이 회사는 전 세계 여러 지역에서 생산된 코코아로 초콜릿을 만듭니다.

같은 원산지의 바를 대상으로 코코아 함량과 받은 점수 사이에 상관관계가 있는지 확인하려고 해요. 이를 위해 각 바의 코코아 함량을 바로 이전 평점을 받은 바의 코코아 함량과 비교합니다. 그런 다음 이 값들의 차이를 계산하고 결과를 해석하세요.

이 연습은 강의의 일부입니다

SQL Server에서 데이터 조작을 위한 함수

강의 보기

연습 안내

  • 같은 원산지(broad_bean_origin이 동일)에서 온 코코아로 만든 초콜릿 바 중, 더 낮은 점수를 받은 이전 바의 코코아 함량을 보여 주는 새 열을 만드세요.
  • 현재 바의 코코아 함량에서 이전 바의 코코아 함량을 뺀 차이를 나타내는 새 열을 만드세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

SELECT 
	broad_bean_origin AS bean_origin,
	rating,
	cocoa_percent,
    -- Retrieve the cocoa % of the bar with the previous rating
	___(___) 
		OVER(___ broad_bean_origin ORDER BY ___) AS percent_lower_rating
FROM ratings
WHERE company = 'Fruition'
ORDER BY broad_bean_origin, rating ASC;
코드 편집 및 실행