조회시 칼럼의 반복값 변경 방법 질문드립니다. 0 2 2,847

by 기리 [Oracle 기초] 반복값 제거 칼럼 decode oracle 11g [2018.11.08 15:25:53]


 

날짜 회사 상품명 단가 개수 가격
1107 AA a 123 1 123
1108 AA b 1234 2 2468
1108 AA c 11 3 33
1108 AA d 22 1 22
1107 BB k 3 1 3
1107 BB g 4 1 4
1108 BB i 5 1 5
           
           
날짜 회사 상품명 단가 개수 가격
1107 AA a 123 1 123
1108   b 1234 2 2468
    c 11 3 33
    d 22 1 22
1107 BB k 3 1 3
    g 4 1 4
1108   i 5 1 5

 

위에 날짜랑 회사값이 반복적으로 나오는걸 아래처럼 한 번만 나오고 나머지는 생략하고 싶은데 어떤 함수를 사용해야 할까요?

고수님들의 조언이 간절합니다.

by 마농 [2018.11.08 16:56:04]
-- 1. Row_number 이용
SELECT DECODE(ROW_NUMBER() OVER(PARTITION BY 회사, 날짜 ORDER BY 상품명), 1, 날짜) 날짜
     , DECODE(ROW_NUMBER() OVER(PARTITION BY 회사 ORDER BY 날짜, 상품명), 1, 회사) 회사
     , 상품명
     , 단가
     , 개수
     , 가격
  FROM 테이블
;
-- 2. Lag 이용
SELECT NULLIF(날짜, LAG(날짜) OVER(ORDER BY 회사, 날짜, 상품명)) 날짜
     , NULLIF(회사, LAG(회사) OVER(ORDER BY 회사, 날짜, 상품명)) 회사
     , 상품명
     , 단가
     , 개수
     , 가격
  FROM 테이블
;

 


by 기리 [2018.11.09 14:41:15]

함수 하나하나 다시 공부해야겠네요....

답변 정말 감사드립니다

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