데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
------------------------------------쿼리---------------------------------------------
SELECT x.rn,
x.ymd,
x.ProductNo,
x.SalesAmount,
y.SalesAmount,
(x.SalesAmount - y.SalesAmount) DiffAmount
FROM ( SELECT ROW_NUMBER() OVER(PARTITION BY sb.ProductNo ORDER BY sb.ymd) rn,
sb.ymd,
sb.ProductNo,
sb.SalesAmount
FROM SalesBook sb
) AS x
JOIN (
SELECT ROW_NUMBER() OVER(PARTITION BY sb.ProductNo ORDER BY sb.ymd) rn,
sb.ymd,
sb.ProductNo,
sb.SalesAmount
FROM SalesBook sb
) AS y
ON x.rn = y.rn - 1 AND x.ProductNo = y.ProductNo
ORDER BY x.ymd, x.ProductNo
------------------------------------결과---------------------------------------------
join 뒤에 select문을 홀수나 짝수만 나오게 하려고 하는데 연산이 어디에 들어가야하는지 감이 안옵니다..
만약 제가 생각한게 잘못되었다면 조언 좀 해주시면 감사하겠습니다.