Group by : 특정 컬럼을 그룹화해준다.
사용법
1) 컬럼 그룹화
select [ 컬럼명 ]
from [ 테이블명 ]
group by [ 그룹화할 컬럼 ];
2) 조건 처리 후에 컬럼 그룹화
select [ 컬럼명 ]
from [ 테이블명 ]
where [ 조건식 ]
group by [ 그룹화할 컬럼 ];
3) 컬럼 그룹화 후, 그룹화한 컬럼으로 정렬
select [ 컬럼명 ]
from [ 테이블명 ]
group by [ 그룹화할 컬럼 ]
order by [ 정렬할 컬럼 ];
group by 예제
예제 1) full_name 별로, 각각 몇권의 책을 썼는지, full_name 과 책의 갯수를 cnt 라는 컬럼으로 가져오세요.
select concat(author_fname, ' ', author_lname) as full_name, count(*) as cnt
from books
group by full_name;
예제 2) 각 작가별로 자신이 쓴 책의 최소 년도는?
* group by 는 컬럼 1개, 2개, 3개... 상관없이 여러개 가능
select author_fname, author_lname, min(released_year)
from books
group by author_fname, author_lname;
예제 3) author_lname으로 그룹화하고 카운트한 값을 정렬하시오
select title, author_lname, concat(count(*), ' books' ) as COUNT
from books
group by author_lname
order by author_lname;
'데이터베이스' 카테고리의 다른 글
[ MySQL ] Workbench에서 외래키(Foreign key) 설정 (0) | 2022.05.17 |
---|---|
[ MySQL ] case 문 과 if() 함수 사용법 (0) | 2022.05.17 |
[ MySQL ] count, sum, avg, max, min 함수 사용법 (0) | 2022.05.16 |
[ MySQL ] 문자열 검색에 유용한 like 사용법 (0) | 2022.05.16 |
[ MySQL ] 데이터 중복 제거 distinct (0) | 2022.05.16 |