마케팅 이야기

[SQL] 5. GROUP BY 그리고 HAVING 문

모리선생 2024. 2. 28. 07:00
728x90

목표: 그룹의 특정 조건을 필터링해 해당 그룹의 데이터만 검색하는 GROUP BY 문과 HAVING 문을 확인한다.

 

더보기

GROUP BY 문과 HAVING 문의 기본 형식

SELECT [열] FROM [테이블] WHERE [열] = [조건값] GROUP BY [열] HAVING [열] = [조건값]

 

예를 들자면,

SELECT sector, industry FROM company

GROUP BY sector, industry

 

를 쓸 수 있다.

 

COUNT (각 그룹에 몇개의 행이 있는지 세어보는 방법)

예시:

SELECT sector, COUNT(*) AS cnt FROM company

GROUP BY sector

 

참고로, GROUP BY 문에 사용한 열은 반드시 SELECT 문에도 사용을 해야한다.

 

만약 GROUP BY 문을 사용하지 않고 중복 데이터를 제거하고 싶다면 DISTINCT 문을 사용하자.

SELECT DISTINCT [열 이름] FROM [테이블 이름]

 

예를 들어,

SELECT DISTINCT sector, industry

FROM company

 

이는 

 

SELECT sector, industry

FROM company

GROUP BY sector, industry

 

와 같다.

 

HAVING (그룹화한 데이터에서 데이터를 필터링 하는 방법)

WHERE 문과 비슷하다고 생각할 수 있으나 WHERE 문처럼 테이블에 있는 열에 적용하는 것이 아닌 SELECT 문이나 GROUP BY 문의 사용한 열에서만 적용이 가능하다.

 

예를 들어,

SELECT sector, industry FROM company

GROUP BY sector, industry

HAVING indsutry = 'Advertising'

 

또한 별칭을 사용하였을 경우에는 HAVING 문에 사용을 할 수 없다.

728x90

'마케팅 이야기' 카테고리의 다른 글

[SQL] 7. 조인이란  (0) 2024.03.03
[SQL] 6. CREAT 문  (0) 2024.03.01
[SQL] 4. 와일드카드로 문자열 검색  (0) 2024.02.26
[SQL] 3. ORDER BY문  (0) 2024.02.24
[SQL] 2. WHERE 문  (0) 2024.02.22