초보자 'COUNT' 질문입니다. 0 6 3,147

by 동네청년 [Oracle 기초] COUNT [2013.07.25 15:29:01]


테이블
--------------------------------------
:: TEST ::
-----
col
-----
QQ
QQ
QQ
EE
QQ
QQ
EE
--------------------------------------


쿼리 1

SELECT COUNT(col)
FROM TEST
------------------------------------ 
:: 결과 ::
col
-----
  7
------------------------------------


쿼리2

SELECT COUNT(col) AS col_2
FROM TEST
WHERE COL = 'QQ'
------------------------------------
:: 결과 ::

col_2
-----
  5
------------------------------------


저 두 쿼리를 하나로 합쳐서

col  col_2
---------------
 7      5


안녕하세요 얼마전부터 오라클 공부를 시작한 학생입니다.

책보고 공부하는데 이와 관련된 부분을 찾을수 없어 질문드립니다.

쿼리 두개를 합쳐 하나로 저렇게 만들수 있는 방법이 궁금합니다.. 도와주세요!!

by 용근님 [2013.07.25 15:31:55]

WHERE 절에 있는 항목을 그대로 SELECT 로

COUNT ( CASE WHEN COL = 'QQ' THEN 1 END )

by 동네청년 [2013.07.25 16:07:59]
답변감사드립니다!! 하나더 여쭤볼게 있습니다.
평범하게 테스트하면 지장이 없는데
밑에서 다른 테이블과 조인해서 SUM값을 구한 값과 같이 COUNT를 하면 질의결과 열의수가 다르다고 나옵니다.

SELECT  A(서브쿼리와 다른테이블과 조인해서 나온 SUM값)
             ,B( 보통 COUNT문 (COUNT(*))
             ,C( COUNT(CASE WHEN COL = 'QQ' THEN 1 END)
 이 세개를 하려는데 A를 주석처리하고 실행하면 이상없이 돌아가네요.. 짐작가는 부분이 있으면 답변 바랍니다 ㅜㅜ 감사합니다~!!

by 마농 [2013.07.25 17:39:59]
SELECT 1, 2, 3 FROM dual
 UNION ALL
SELECT 1, 2 FROM dual
;
ORA-01789 : 질의의 결과 열의수가 틀립니다.

by 동네청년 [2013.07.25 17:41:22]
감사합니다! 덕분에 해결했습니다!!

by 용근님 [2013.07.25 16:36:31]

전체 쿼리를 올려봐주시는게

by 동네청년 [2013.07.25 17:40:54]
해결했습니다!! 감사합니다(__)
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입