현재 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;
위의 두가지 방법을 시도해보았는데... 혹시 다른 어떤 방법으로 시도 해보는게 좋을까요?...
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
;
@마농
좋은 고심하시고 방법 알려주셔서 감사합니다 ㅎㅎ 하지만 제가 설명을 잘못드려서 조인결과의 모든 행에대해 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가 리턴되도록 하고싶었습니다위와 같이 데이터가 정렬 될 경우
이방법은 혹시 좋은 방법이 없을까요 ㅜㅜ
SELECT COUNT(*) cnt
FROM aa a
INNER JOIN dd b
ON a.col_1 = b.col_1
;
@마농
감사합니다... 계속 왜 저렇게 꼬아서 생각했는지 이해가 되지않고 부끄럽네요... 시간내어 생각하시고 알려주셔서 진심으로 거듭 감사합니다!!!!