이런 데이터가 있다
사실 이 데이터는 몇개 되지않아 눈으로 3초 안에 몇개의 데이터가 있는지 확인이 가능하지만
수천개라고 할때
몇개인지 일일히 셀 수 없다
그럴때는
count()
보통 전체의 데이터를 확인할때
select *
from books;
이렇게 확인하는데
이 books 테이블안의 데이터가 몇개인지 확인해야할때는
*을 count( )로 감싸주면 되겠다
select count(*)
from books;
그러면 이렇게 몇개의 행을 가지고 있는지 알려준다
그렇다면 만약
책 제목에 the가 들어간 책의 갯수 같은것을 알려고 할때에는?
select count(title)
from books
where title like '%the%';
라고 카운트로 감싸주기만 하면 해당하는 컬럼의 숫자를 카운트 할 수 있다
물론 저것만 보면 뭔지 알기 힘드니까
select count(title) as title_cnt
from books
where title like '%the%';
이런식으로 이름을 지정해주면 보기 깔끔하겠다
합산 sum( )
페이지수의 합산을 보고 싶다면
간단하게 select 페이지의
페이지를 sum ( )으로 감싸주면 되겠다
select sum(pages)
from books;
평균 avg( )
그렇다면 페이지수의 평균을 알고 싶다면?
이번에는 sum 이 아니라 avg( )로 감싸주면 되겠다
select avg(pages) as avg_pages
from books;
최대값과 최소값 max( ), min( )
페이지 수가 가장 많은 책은 몇 페이지?
출판년도가 가장 빠른 책은 몇년도?
같은 질문이 온다면
그 전까지는
select pages
from books
order by pages desc
limit 1;
select released_year
from books
order by released_year
limit 1;
이런 식으로 작성 했었다
하지만 그럴 필요 없이
select
부분의 해당하는 녀석을 max( ) min( )
파라미터 안에 넣어주면 되겠다
select max(pages)
from books;
select min(released_year)
from books;
각각 이렇게 넣어주게 되면
이렇게 결과값이 똑같다
'MYSQL' 카테고리의 다른 글
MYSQL - null 확인법 is null( ), null 처리법 ifnull( ) (0) | 2024.05.14 |
---|---|
MYSQL - ㅁㅁ별로 묶어서 Group by, having 작성법, 서브 쿼리 Sub Query (0) | 2024.05.14 |
MYSQL - 원하는 조건을 '찾는' like, 중첩 and,둘 중 하나True or, 제외 not (0) | 2024.05.14 |
MYSQL - 데이터를 끊어 보여주는 Paging- limit, offset (1) | 2024.05.14 |
MYSQL - 유니크 distinct, 정렬 order by, 내림차순/오름차순 desc,asc (0) | 2024.05.14 |