본문 바로가기

프로그래밍 언어/MySQL

[MySQL] 최소값/최대값/평균/총합: min(), max(), avg(),sum()

반응형

 

최소값/최대값/평균: min(), max(), avg()

 


-- 년도의 최소값은?
select min(released_year)
from books;

-- 페이지수가 가장 큰 값은??
select *,max(pages)  -- 전체 컬럼과 페이지 제일 큰 데이터를 가져온다. 
from books;

-- 페이지수가 가장 큰 책의 제목은??
select *, title
from books
order by pages desc 
limit 1;

-- 이 테이블의 책 페이지수 평균은??
select avg(pages)
from books;

 

문제풀이: 

-- 각 작가별로, 자신이 쓴 책의 최소 년도는??
-- 작가의 성과 이름, 그리고 최소년도가 나오도록 가져오세요.
-- 앞에는 컬럼이라는 뜻

select author_fname, author_lname, min(released_year)
from books
group by author_fname, author_lname;


-- 각 작가별로, 자신이 쓴 책의 페이지가 가장 많은 책의 페이지수를
-- 작가의 성과 이름, 그리고 최대 페이지수로 나오도록 가져오세요. 
select author_fname, author_lname, max(pages) 
from books
group by author_fname, author_lname;



총합: sum()

-- 이 테이블의 페이지숫 총 합은??
select sum(pages)
from books;

--  각 작가별로, 책 재고량은?
-- 재고량과 작가 이름이 나오도록 데이터를 가져오시오.
select sum(stock_quantity),author_fname, author_lname
from books
group by author_fname, author_lname;

--  각 년도별로, 책 재고량은?
-- 평균 재고량과 작가 이름이 나오도록 데이터를 가져오시오.
select avg(stock_quantity),author_fname, author_lname
from books;

 

-- 실습: 

select released_year as year, 

count(*) as '# books' ,avg(pages) as 'avg pages'

from books

group by released_year

order by released_year;

-- 정렬은 맨 마지막에 .

 

반응형