SQL 첫걸음 20-22강
본 글은 아사이 아츠시 저 "하루 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에서도 사용이 가능하다)
Author And Source
이 문제에 관하여(SQL 첫걸음 20-22강), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@statco19/SQL-첫걸음-20-22강저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)