SQL 도전기 - 22

김치전사·2022년 7월 8일
0

SQL 도전기

목록 보기
22/36

오늘은 그룹화-GROUP BY에 대해 공부한다

GROUP BY
SELECT * FROM 테이블명 GROUP BY 열명1, 열명2, ...


name 열이 A인 행은 두 개, B와 C인 행은 각각 한 개씩 있다
name 열에서 같은 값을 가진 행끼리 한데 묶어 그룹화한 집합을 집계함수로 넘겨줄 수 있다
그룹으로 나눌 때에는 GROUP BY 구를 사용한다

지정된 열의 값이 같은 행이 하나의 그룹으로 묶인다

GROUP BY를 지정해 그룹화하면 DISTINCT와 같이 중복을 제거하는 효과가 있다

GROUP BY 구로 그룹화된 각각의 그룹이 하나의 집합으로서 집계함수의 인수로 넘겨진다

name열을 그룹화하여 행 개수가 하나만 존재하는 그룹을 검색하고 싶었지만 에러가 발생했다.
WHERE구로 행을 검색하는 처리가 GROUP BY로 그룹화하는 처리보다 더 빠르기 때문이다.
HAVING 구를 사용하면 집계함수를 사용해서 조건식을 지정할 수 있다
HAVING 구는 GROUP BY 구의 뒤에 기술하며 WHERE 구와 동일하게 조건식을 지정할 수 있다

GROUP BY에서 지정한 열 이외의 열은 집계함수를 사용하지 않은 채 SELECT 구에 지정할 수 없다!

결괏값 정렬

profile
개인공부 블로그입니다. 상업적 용도 X

0개의 댓글