본문 바로가기
Database/SQL문

[SQL] GROUP BY - 1

by Ratataca 2021. 11. 23.

1. GROUP BY

MOBILE_CLIENT 테이블 칼럼에 GENDER이라는 속성이 MEN, WOMAN만 존재할 때, 우리는 남, 여로 무엇인가 구별하여 처리해야 하는 경우가 발생했다고 가정해봅시다.

이때 다음과 같은 SQL문을 사용한다면

SELECT GENDER, COUNT(*)
FROM MOBILE_CLIENT
BROUP BY GENDER

 

결과는 [남자그룹]과 [여자그룹]이 하나씩 생성된다. [남자그룹] 안에는 남자로 이루어진 데이터들이 모여있고, [여자그룹]에는 여자들로 이루어진 데이터들이 모여있다.

그럼 DISTINCT()함수와 결괏값은 같아 보이지만 내부적으로 포함되어 있는 데이터가 다르다는 것을 느낄 것이다.

따라서 위 SQL문은 GENDER로 구별된 [남자그룹]과 [여자그룹]의 각각 몇 명이 있는지 출력하는 SQL문이다. 

 

더 나아가 COUNT(), AVG(), SUM(), MIN(), MAX()와 같은 집계 함수와 함께 사용하면 각 그룹를 기준으로 값들이 출력된다.

 


2. GROUP BY을 활용한 예제

2. 1. 고양이와 개는 몇 마리 있을까?

위와 같은 테이블이 주어졌다.

동물 보호소에 들어온 동물 중 고양이와 개가 각각 몇 마리인지 조회하는 SQL문을 작성해주세요. 이때 고양이를 개보다 먼저 조회하자.

예시는 다음과 같다.

 

결과

SELECT ANIMAL_TYPE, COUNT(*) AS "count"
FROM ANIMAL_INS
GROUP BY ANIMAL_TYPE
ORDER BY ANIMAL_TYPE

 

 

 

'Database > SQL문' 카테고리의 다른 글

[SQL] GROUP BY - 3  (0) 2021.11.24
[SQL] GROUP BY - 2  (0) 2021.11.23

댓글