반응형
< MySQL group by 에서 having을 사용하는 방법 >
- 이전 생성한 스키마(DB)와 테이블로 이어서 진행
- 참고 : https://sorktjrrb.tistory.com/105
# ~별로 묶어서 ... 하자 : group by 키워드
-- ~별로 묶어서 ... 하자 : group by 키워드
-- author_lname 별로, 몇권의 책을 썼는지,
-- author_lname과 책의 권수를 보여주세요.
select author_lname , count(author_lname) as book_cnt
from books
group by author_lname;
-- 년도별로 각각 몇권의 책이 출간되었는지,
-- 년도와 책의수를 보여주세요.
select released_year , count(released_year) as book_cnt
from books
group by released_year
order by released_year;
# group by 와 정렬 까지
-- 8) 년도별 책의 갯수와 평균 페이지수를 나타내고, 년도별로 정렬해라.
select released_year as year,
count(title) as '# books',
avg(pages) as 'avg pages'
from books
group by released_year
order by year;
# 좀더 실무적인 코딩 groub by의 조건문 having 사용 방법!
-- 좀더 실무적으로!!
-- 년도별 stock_quantity 의 평균값이 70보다 큰 책들의
-- 년도와 평균값을 보여주세요.
-- 조건문을 사용하기 위해선 where를 사용하여야 하지만 group by 뒤에는 where 사용이 불가능
-- 이렇게 필요로의해 group by 뒤에 조건문을 사용하여야 할때는 having을 사용하여야 한다.
select released_year, avg( stock_quantity ) as avg_stock
from books
group by released_year having avg_stock > 70;
-- 출판년도가 2000년 이상인 데이터에서
-- 년도별 stock_quantity 의 평균값이 70보다 큰 책들의
-- 년도와 평균값을 보여주세요.
select released_year, avg(stock_quantity) as avg_stock
from books
where released_year >= 2000
group by released_year having avg_stock > 70 ;
-- 출판년도가 2000년 이상인 데이터에서
-- 년도별 stock_quantity 의 평균값이 70보다 큰 책들의
-- 년도와 평균값을 보여주되, 평균값이 큰것부터 보여주세요.
select released_year, avg(stock_quantity) as avg_stock
from books
where released_year >= 2000
group by released_year having avg_stock > 70
order by avg_stock desc;
# having과 정렬까지
-- 출판년도가 2000년 이상인 데이터에서
-- 년도별 stock_quantity 의 평균값이 70보다 큰 책들의
-- 년도와 평균값을 보여주되, 평균값이 큰것부터 보여주세요.
select released_year, avg(stock_quantity) as avg_stock
from books
where released_year >= 2000
group by released_year having avg_stock > 70
order by avg_stock desc;
다음 게시글로 계속!
728x90
반응형
'DATABASE > MySQL Workbench' 카테고리의 다른 글
MySQL Workbench : 조건문에 부등호(=, !=, <=, >=) 활용 (0) | 2024.05.15 |
---|---|
MySQL Workbench : Sub Query 사용법 (0) | 2024.05.15 |
MySQL Workbench : count(), sum(), avg(), max(), min() 함수 사용법 (0) | 2024.05.14 |
MySQL Workbench : 문자열 검색에 유용한 like 사용법 (0) | 2024.05.14 |
MySQL Workbench : 페이징(paging)에 사용되는 limit 와 offset (0) | 2024.05.14 |