SQLDSQL 활용난이도 2MCQ

SQLD SQL 활용 기출문제 #1387

문제

다음 SQL에서 사용된 윈도우 함수의 실행 결과로 가장 적절한 것은?

SQL
SELECT product_id, sales_amount, LAG(sales_amount, 2, 0) OVER (ORDER BY sales_amount DESC) as prev_sales FROM monthly_sales WHERE month_id = 202312;

테이블 데이터: product_id(A,B,C,D), sales_amount(100,200,150,300)

① prev_sales 값은 순서대로 0, 0, 300, 200이 된다 ② prev_sales 값은 순서대로 0, 0, 200, 150이 된다
③ prev_sales 값은 순서대로 200, 100, 0, 0이 된다 ④ prev_sales 값은 순서대로 300, 200, 150, 100이 된다

정답

1

해설

ORDER BY sales_amount DESC로 정렬하면 D(300), B(200), C(150), A(100) 순서가 됩니다. LAG(컬럼, 2, 0)은 2행 이전 값을 가져오며, 값이 없으면 기본값 0을 사용합니다. 따라서 첫 번째와 두 번째 행은 0, 세 번째 행은 300, 네 번째 행은 200이 됩니다.

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.

[SQLD] SQL 활용 기출 #1387 | sqldpass