통계 쿼리를 짜려고 하는데 잘 되지 않습니다. 0 2 899

by 파르스름 [SQL Query] 통계 [2017.12.07 12:08:46]


데이터 구조가 아래와 같이 있다고 했을때

data1 data2 data3 data4
A1 B1 C1 D1
A1 B1 C1 D2
A1 B1 C1 D2
A1 B1 C1 D3
A1 B1 C2 D3
A1 B1 C2 D4
A1 B1 C2 D4
A1 B1 C2 D5
A1 B1 C2 D5
A1 B2 C3 D5
A1 B2 C3 D5
A1 B2 C4 D5
A2 B3 C1 D6
A2 B3 C2 D7
A2 B4 C2 D7
A2 B4 C3 D8

 

이런형태로 데이터가 나오게 쿼리를 짜려고 합니다. 

열심히 쿼리를 작성하고 있는데 원하는 결과값이 안 나옵니다. ㅠㅠ

고수님들 도움 부탁드립니다 

대분류 카운트수 중분류 카운트수 소분류 카운트수 세부분류 카운트수
A1 12 B1 9 C1 4 D1 1
A1 12 B1 9 C1 4 D2 2
A1 12 B1 9 C1 4 D3 1
A1 12 B1 9 C2 5 D3 1
A1 12 B1 9 C2 5 D4 2
A1 12 B1 9 C2 5 D5 2
A1 12 B2 3 C3 2 D5 2
A1 12 B2 3 C4 1 D5 1
A2 4 B3 2 C1 1 D6 1
A2 4 B3 2 C2 1 D7 1
A2 4 B4 2 C2 1 D7 1
A2 4 B4 2 C3 1 D8 1
by 마농 [2017.12.07 13:27:02]
WITH t AS
(
SELECT 'A1' gbn1, 'B1' gbn2, 'C1' gbn3, 'D1' gbn4 FROM dual
UNION ALL SELECT 'A1', 'B1', 'C1', 'D2' FROM dual
UNION ALL SELECT 'A1', 'B1', 'C1', 'D2' FROM dual
UNION ALL SELECT 'A1', 'B1', 'C1', 'D3' FROM dual
UNION ALL SELECT 'A1', 'B1', 'C2', 'D3' FROM dual
UNION ALL SELECT 'A1', 'B1', 'C2', 'D4' FROM dual
UNION ALL SELECT 'A1', 'B1', 'C2', 'D4' FROM dual
UNION ALL SELECT 'A1', 'B1', 'C2', 'D5' FROM dual
UNION ALL SELECT 'A1', 'B1', 'C2', 'D5' FROM dual
UNION ALL SELECT 'A1', 'B2', 'C3', 'D5' FROM dual
UNION ALL SELECT 'A1', 'B2', 'C3', 'D5' FROM dual
UNION ALL SELECT 'A1', 'B2', 'C4', 'D5' FROM dual
UNION ALL SELECT 'A2', 'B3', 'C1', 'D6' FROM dual
UNION ALL SELECT 'A2', 'B3', 'C2', 'D7' FROM dual
UNION ALL SELECT 'A2', 'B4', 'C2', 'D7' FROM dual
UNION ALL SELECT 'A2', 'B4', 'C3', 'D8' FROM dual
)
SELECT gbn1
     , SUM(COUNT(*)) OVER(PARTITION BY gbn1) cnt1
     , gbn2
     , SUM(COUNT(*)) OVER(PARTITION BY gbn1, gbn2) cnt2
     , gbn3
     , SUM(COUNT(*)) OVER(PARTITION BY gbn1, gbn2, gbn3) cnt3
     , gbn4
     , COUNT(*) cnt4
  FROM t
 GROUP BY gbn1, gbn2, gbn3, gbn4
 ORDER BY gbn1, gbn2, gbn3, gbn4
;

 


by 파르스름 [2017.12.07 13:32:54]

감사합니다.  제가 원하는 결과가 나오네요. 쿼리 공부 다시 해야겠습니다. ㅠㅠ

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