count(subquery) 방법 질의 0 4 1,271

by notallpara [SQL Query] tibero count query subquery [2022.02.21 11:34:16]


현재 a테이블과 b테이블이 있습니다. 이 테이블의 innser join 결과를 count하고 싶습니다. 하여 시도 결과

1.  expression is not in a group by clause 오류발생

SELECT
    a.1 AS aa
    , b.1 AS dd
    , COUNT(a.1)
FROM
    aa as a
    inner JOIN
    dd as b
    ON a.1 = b.1;

2. 실행불가

SELECT COUNT(
    SELECT
        a.1
        , b.1
    FROM
        aa as a
        inner JOIN
        dd as b
        ON a.1 = b.1) AS countSub
FROM DUAL;

위의 두가지 방법을 시도해보았는데... 혹시 다른 어떤 방법으로 시도 해보는게 좋을까요?...

by 마농 [2022.02.21 12:53:12]
SELECT a.col_1
     , COUNT(*) cnt
  FROM aa a
 INNER JOIN dd b
    ON a.col_1 = b.col_1
 GROUP BY a.col_1
;

 


by notallpara [2022.02.21 13:20:44]

@마농

좋은 고심하시고 방법 알려주셔서 감사합니다 ㅎㅎ 하지만 제가 설명을 잘못드려서 조인결과의 모든 행에대해 count되는 결과가 나옵니다 ㅜㅜㅜ

 

원하는 방법은 

table a

1 2
a 123
b 123
c 123

table b

1 2
a 123
b 123
z 123
x 123
r 123


결과적으로 inner조인하였을 때 결과물 갯수만큼 2가 리턴되도록 하고싶었습니다위와 같이 데이터가 정렬 될 경우 

이방법은 혹시 좋은 방법이 없을까요 ㅜㅜ

 


by 마농 [2022.02.21 13:23:10]
SELECT COUNT(*) cnt
  FROM aa a
 INNER JOIN dd b
    ON a.col_1 = b.col_1
;

 


by notallpara [2022.02.21 13:47:41]

@마농

감사합니다... 계속 왜 저렇게 꼬아서 생각했는지 이해가 되지않고 부끄럽네요... 시간내어 생각하시고 알려주셔서 진심으로 거듭 감사합니다!!!! 

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