본 글은 아사이 아츠시 저 "하루 30분 36강으로 배우는 완전 초보의 SQL 따라잡기 SQL 첫걸음"을 기반으로 작성되었습니다.
사용 예시
select count(*) from sample51
select count(col1), count(col2)
from sample51
where col3 is not null
주의할 점
NULL값을 무시하고 집계한다.
select count(distinct col1)
from sample51
sum() // 수치형 값만 계산 가능
avg() // 수치형 값만 계산 가능
min() // 수치형, 문자형, 날짜형 모두 연산 가능
max() // 수치형, 문자형, 날짜형 모두 연산 가능
select col1, count(col2), sum(col3)
from sample51
group by col1
주의할 점
group by로 묶어준 열 이외의 열은 집계함수가 동반되지 않으면 select 구에 쓰일 수 없다.
group by로 묶어주게 되면 그룹마다 2개 이상의 값이 묶여있을 수 있는데 select에서는 한 개의 값만 반환해야 하기 때문이다.
select col1, count(col2) as 'COUNT'
from sample51
where col3 is not null
group by col1
having count(col2) > 1
order by COUNT desc
구문 처리 순서: where -> group by -> having -> select -> order by
따라서 select 구에서 정해준 별명은 order by에서만 사용이 가능하다.
(단, MySql에서는 having, group by에서도 사용이 가능하다)