본문 바로가기
MySQL

[MySQL] 데이터 그룹하여 처리하기 group by

by coding_su 2022. 12. 7.

📝MySQL Workbench 데이터 그룹하기 group by

데이터를 집계하는 group by 키워드

※ 유형별로 갯수를 알고 싶을 때 컬럼에 데이터를 그룹화시켜 사용

 null값이 없는 컬럼에 사용

-- author_lname별로 몇권의 책을 썼는지 작가 이름과 책권수를 가져오기
select concat(author_fname, ' ', author_lname) as full_name, count(title) as count
from books
group by author_lname ;

-- author_lname과 author_fname 별로 그 작가의 이름과 출간년도의 최소값을 가져오기
-- (각 작가별로 최초 책 발간한 년도가 언제인가)
select min(released_year), concat(author_lname, ' ', author_fname) as full_name
from books
group by author_lname, author_fname ;

 

group by한 데이터에 조건처리는 having을 사용한다

(= group by한 결과에 조건을 붙이고 싶을때)

-- 년도별 stock_quantity의 평균값이 70보다 큰 책들의 년도와 평균값
select released_year, avg(stock_quantity) as average
from books
group by released_year having average > 70
order by released_year ;

댓글