SQL 첫걸음 20-22강

Andrew·2022년 1월 4일
0

SQL 첫걸음

목록 보기
5/9

본 글은 아사이 아츠시 저 "하루 30분 36강으로 배우는 완전 초보의 SQL 따라잡기 SQL 첫걸음"을 기반으로 작성되었습니다.

20. 행 개수 구하기

COUNT

사용 예시

select count(*) from sample51
select count(col1), count(col2)
from sample51
where col3 is not null

주의할 점
NULL값을 무시하고 집계한다.

집계함수에서 DISTINCT

select count(distinct col1)
from sample51

21. COUNT 이외의 집계함수

sum() // 수치형 값만 계산 가능
avg() // 수치형 값만 계산 가능
min() // 수치형, 문자형, 날짜형 모두 연산 가능
max() // 수치형, 문자형, 날짜형 모두 연산 가능

22. 그룹화

GROUP BY

select col1, count(col2), sum(col3)
from sample51
group by col1

주의할 점
group by로 묶어준 열 이외의 열은 집계함수가 동반되지 않으면 select 구에 쓰일 수 없다.
group by로 묶어주게 되면 그룹마다 2개 이상의 값이 묶여있을 수 있는데 select에서는 한 개의 값만 반환해야 하기 때문이다.

HAVING

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에서도 사용이 가능하다)

profile
조금씩 나아지는 중입니다!

0개의 댓글