count 관련 함수 질문드립니다. 0 2 1,034

by visca구루비 [Oracle Tuning] [2020.04.14 15:27:54]


SELECT
    A.COL1, COUNT(B.COL1) AS  COL
FROM
    TBL1 A,
    TBL2 B
WHERE A.KEY1 = B.KEY2
AND A.KEY2 = B.KEY2
GROUP BY A.COL1, B.COL1
;

위의 쿼리 실행 결과로

 

    COL1    |    COL

     VAL1    |      1

     VAL2    |      3

 

위와 같이 나온다고 하면

    COL1    |    COL    |    SUM

     VAL1    |      1     |      4

     VAL2    |      3     |      4

 

이렇게 나왔으면 합니다.

A테이블과 B테이블의 컬럼명은 서로 다르지만 예시를 들기위해 같은 이름을 사용했고

GROUP BY 바깥으로 한번 더 감싸려고 하였으나

쿼리성능이 안나오는 상황이라 방법을 찾고 있습니다....

 

어떻게 하면 아래처럼 나올까요???

by 마농 [2020.04.14 16:07:18]
SELECT a.col1
     , COUNT(b.col1) cnt
     , SUM(COUNT(b.col1)) OVER() sum_cnt
  FROM tbl1 a
     , tbl2 b
 WHERE a.key1 = b.key2
   AND a.key2 = b.key2
 GROUP BY a.col1
--     , b.col1    -- 이건 빼야 할 것 같은데요?
;

 


by visca구루비 [2020.04.14 16:09:22]

아! 그 부분은 제가 잘못넣었었네요..

제가 테스트 하느라 안지우고 남았던 소스였습니다

감사합니다!

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