첨부된 사진처럼 쿼리로 할 수 있는 방법이 있을까요??
테이블은 DATA_TEMP 이며 UPDT_DT ASC 기준으로 같은 번호별 순서를 하고싶은데 Whlie문으로는 가능한걸 확인했습니다.
하지만 Whlie문으로 진행하게되면 10,000 줄 이상 진행하게 되면 너무 시간이 오래걸려서 쿼리로 할 수 있는 방법을 찾고 싶습니다!
WITH DATA_TEMP AS ( SELECT 1 CB_FLAG, 1 UPDT_DT UNION ALL SELECT 1 CB_FLAG, 2 UPDT_DT UNION ALL SELECT 0 CB_FLAG, 3 UPDT_DT UNION ALL SELECT 0 CB_FLAG, 4 UPDT_DT UNION ALL SELECT 1 CB_FLAG, 5 UPDT_DT UNION ALL SELECT 1 CB_FLAG, 6 UPDT_DT UNION ALL SELECT 1 CB_FLAG, 7 UPDT_DT UNION ALL SELECT 1 CB_FLAG, 8 UPDT_DT UNION ALL SELECT 0 CB_FLAG, 9 UPDT_DT UNION ALL SELECT 1 CB_FLAG, 10 UPDT_DT UNION ALL SELECT 1 CB_FLAG, 11 UPDT_DT UNION ALL SELECT 1 CB_FLAG, 12 UPDT_DT ) SELECT SUM(COLS) OVER (ORDER BY UPDT_DT) AS NEW_COLS , CB_FLAG , UPDT_DT FROM ( SELECT CB_FLAG , UPDT_DT , CASE WHEN LAG(CB_FLAG) OVER (ORDER BY UPDT_DT) = CB_FLAG THEN 0 ELSE 1 END COLS FROM DATA_TEMP ) BB ORDER BY UPDT_DT