본인은 member_tbl_02(m1라고 부르겠다) money_tbl_02(m2라고 부르겠다) 두개의 테이블을 조인하여 Group by로 출력하고자한다.

우선 m2에서 동일한 custno으로 Group by 해보도록하겠다.

그런데 select * from money_tbl_02로 하면 아래와 같이 오류가 발생한다.

이유는 그룹으로 묶이기 때문에 전체 레코드를 출력할 수 없는 것이다.

그렇기 그룹으로 묶은 custno 부분을 출력하고 각 custno이 몇개 있는지 count로 출력하도록해야 한다.

아래와 같이 말이다.

 

그럼 이번에는 m1과 m2를 조인해보자

그럼 아래와 같이 조인된 데이터가 출력되는 것을 확인할 수 있다.

여기서 custno과 custno별로 price합계를 구하고자한다.

보다시피 sum(price)되어 아래와 같이 custno와 각 custno 별로 총 얼마의 price가 합해졌는지 확인할 수 있다.

그렇다면 위의 코드를 그대로 두고 select에 custname만 추가해보도록하자

아래와 같이 m1.custname을 select하였으나 group by를 하지않았다.

그런데 아래와 같은 문제가 발생하였다.

이유는 무엇일까?

이유는 custname이 group화되지않았기 때문이다.

즉 아래와 같은식으로되어있기 때문이다.

그러므로 group화하지않았기 때문에 위와 같은 오류가 발생하는 것이며 custname역시 group화를 진행해줘야 한다.

아래와 같이 custname도 group화를 하면 아래와 같이 정상 출력되는 것을 확인할 수 있다.

+ Recent posts