반응형

MySQL 그룹별로 표시하기.

 

그룹별로 표시하기.

Table_01number 컬럼에는 A1인 데이터가 여러 개 있습니다. 이와 같이 같은 값의 데이터를 그룹으로 만들 수 있습니다. 그룹으로 설정된 데이터는 합계와 평균을 비롯한 각종 데이터 처리를 그룹 단위로 할 수 있습니다.

그룹화할 때는 group by를 사용합니다.

 

select 컬럼명 from 테이블명 group by 그룹화할 컬럼명;

 

컬럼 number를 그룹화 하기 전과 후를 비교해 보겠습니다.

 

select * from table_01;

select * from table_01 group by number;

위와 같이 number에 대해 그룹화를 했을 때 number 데이터는 1종류씩 표시됨을 확인할 수 있습니다. 하지만 그룹화했을 때 그 처리 대상은 같은 그룹에 속해 있는 모든 레코드입니다.

무슨 의미인지는 위쪽 결과를 보시면 A1에 강백호, 강호동, 신동엽이 있습니다만 그룹화 했을 때 대표로 강백호 하나만 나타냈을 뿐 실제로는 A1에 속해 있는 모든 값이 대상입니다.

그러면 그룹별 몇 개가 있는지 count( ) 함수를 사용해 보겠습니다.

 

select number, count(*) from table_01 group by number;

 

그룹별 합계와 평균 표시하기.

그룹화로 합계를 계산하는 함수인 sum( )과 평균을 계산하는 함수 avg( )를 사용해 보겠습니다.

 

나이 합계 구하기.

 

select number, sum(age) as 나이합계 from table_01 group by number;

 

나이 평균 구하기.

 

select number, avg(age) as 나이평균 from table_01 group by number;

 

반응형
Posted by 컴스터
,