팀장님이 갑자기 과제를 주셨는데 3시간째 고민해도 답이 나오지 않아 고수님들에게 문의드립니다.
행으로 아래와 같은 숫자가 주어집니다.
1
2
3
5
6
7
9
11
그러면 연속적인 숫자를 그룹으로 최소값,최대값 2개의 칼럼으로 추출해야 합니다.
1 3
5 7
9 9
11 11
위와 같이 결과가 나와야 하는데 어떻게 해야 쿼리를 작성해야 하는지 고수님들에게 부탁드려요
먼저 감사의 인사를 드립니다. 꾸벅^^^
WITH tab AS ( SELECT 1 num FROM dual UNION ALL SELECT 2 num FROM dual UNION ALL SELECT 3 num FROM dual UNION ALL SELECT 5 num FROM dual UNION ALL SELECT 6 num FROM dual UNION ALL SELECT 7 num FROM dual UNION ALL SELECT 9 num FROM dual UNION ALL SELECT 11 num FROM dual ) SELECT NUM-RN, MIN(NUM), MAX(NUM) FROM ( SELECT row_number() OVER (order by num) rn, num FROM tab ) GROUP BY NUM-RN ORDER BY 1
덕분에 해결되어서 너무 감사드립니다.