본문 바로가기
Back-End/🐬MySQL (RDBMS)

[MySQL] 데이터 조회(5) - 그루핑해서 보기! + 고유값이란? 중복제거 (GROUP BY , DISTINCT)

by 코딩하는 동현😎 2022. 5. 11.

실습을 위해 초기화(클릭)


1. 중복 제거하기 (DISTINCT 함수)

고유값은 중복이 되는 값을 걷어낸 후의 값입니다.

DISTINCT 함수를 통해서 이해를 해볼까요?

DISTINCT 함수는 중복되는 값을 제거하고 유일한 값들로 묶습니다.

성별에 대해 DISTINCT를 했더니 수많은 칼럼들은 없어지고 m, f 만 남았죠?

사실 모든 성별은 m , f로 나눠져있고 이것이 고유값입니다!


2. 그루핑하기 (GROUP BY)

그룹핑이라는 것은 고유값을 기준으로 묶는 것입니다.

예를 들어 성별로 그룹핑하면 m , f로 묶이는 거죠.

 

문법은 이렇습니다

SELECT 그룹할_속성 FROM 테이블 GROUP BY 그룹할_속성

 

FROM 뒤에 와야되고 , SELECT랑 같이 그루핑할 속성을 공유해야합니다.

그러면 DISTINCT랑 똑같은거 아닌지 의문이 들것입니다!

그러나 DISTINCT는 고유값들만 출력하는 것인데, 그루핑은 실제 객체가 숨겨져서 나오는것이므로 여러 집계함수도 쓸 수 있습니다!(링크 클릭)

그러나 집계함수만 쓸수 있습니다.


집계함수로 이렇게 각 그루핑한 사람들의 집합의 집계함수로 각 그룹의 특징을 출력할 수 있습니다.

 


3. 두개 이상의 속성에 대해 그루핑하기

두개 이상의 속성에 대해 그루핑하면 첫번쨰 조건에 대해 그루핑하고 또 세부적으로 그루핑합니다 .


4. 그루핑에서 조건 설정하기 (HAVING)

그루핑했을때 조건은 어떻게 설정할까요? WHERE로 설정할까요?

아닙니다!

HAVING으로 설정할수 있는데요,

HAVING 조건 ....

식으로 작성해주면 됩니다!

서울 사는 남자의 수를 구하는 예제


명령어의 순서 종합

  1. SELECT
  2. FROM
  3. WHERE
  4. GROUP BY
  5. HAVING
  6. ORDER BY
  7. LIMIT

 

반응형

댓글