over() 파티션 order by 질문 0 8 1,280

by 캘린다 [2019.05.20 15:03:23]


CODE_N TYPE NO_P F_DATE T_DATE M_DATE QTY M_WEEK GUBUN value
lg_sam NULL tomato2 20190410 2019-07-10 2019-06-24 13000 20190630 O 문제
lg_sam NULL tomato2 20190410 2019-07-10 2019-06-24 38000 20190630 N  
lg_sam NULL dragon 20190128 2019-07-12 2019-07-08 10000 20190732 N 문제

 

원하는 결과값은 f_date가 우선이면서 조건 5,6월에 포함되는 t_date가 우선 커버가 되어야합니다.

위와 같이 t_date월이 같을경우에는 f_date가 빠른순입니다

 


SUM(qty) OVER(PARTITION BY code_n, type ORDER BY t_date, f_date, no_p, qty) s_qty
by 마농 [2019.05.20 16:40:16]

매번 질문 올라올때마다 느끼는 거지만...질문 참 어렵게 하시네요.
질문 보고 바로 이해할 수 있도록 쉽게 적어 주실 수는 없는지?
문제 해결하는게 어려운게 아니라 문제를 이해하는게 더 어려워요.


by 캘린다 [2019.05.20 16:46:19]
CODE_N TYPE NO_P F_DATE T_DATE M_DATE QTY M_WEEK GUBUN value
lg_sam NULL tomato2 20190410 2019-07-10 2019-06-24 49000 20190630 OLD  
lg_sam NULL tomato2 20190410 2019-07-10 2019-06-24 13000 20190630 OLD  
lg_sam NULL dragon 20190128 2019-07-12 2019-07-08 10000 20190732 NORMAL 문제

이중에 "문제"인것이 커버가 됬어야하는데 f_date가 한참 뒤인 4월 t_date 2019-07-10이 커버가 되었다고 표기가됩니다.

원하는 결과값은 f_date가 우선이면서 조건 5,6월에 포함되는 t_date가 우선 커버가 되어야합니다.

위와 같이 t_date월이 같을경우에는 f_date가 빠른순입니다.

 


by 마농 [2019.05.20 17:03:32]

정렬 순서만 원하는 대로 조정하면 되는 것 아닌가요?


by 캘린다 [2019.05.20 17:14:04]

order by f_date, t_date

order by t_date, f_date를 해도 결과값이 나오지 않네요


by 마농 [2019.05.20 17:16:36]

원하는 정렬 순서를 명확하게 설명해 주세요.


by 캘린다 [2019.05.20 17:20:15]

SUM(qty) OVER(PARTITION BY code_n, type ORDER BY t_date, f_date, no_p, qty) s_qty

원하는 순서입니다. 커버는 잘 되는데

t_date월이 같은경우 f_date가 빠른걸 커버를 못하네요


by 마농 [2019.05.20 17:34:43]

월이 같은 경우라면 월까지만 잘라서 정렬해야 하는 것 아닌가요?
 ORDER BY SUBSTR(t_date, 1, 7), f_date


by 캘린다 [2019.05.20 17:41:26]

왜 그렇게 복잡하게 생각하고 있엇는지 모르겠네요... 

월별로 row_number로 시도해보려고도했었는데

감사합니다

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입