본문 바로가기
DB

[Mysql] group by having 사용법

by 유혁. 2018. 7. 17.

group 이라는 명령어는 그룹을 묶고 집계의 결과를 보여줄 때 사용합니다.

 

group by 는 절 다음부터 사용가능 where 절에 사용 불가능하다.

 

where 절 다음에 group by 가 수행됨.

 

having 은 group by 다음에 수행되는 where와 같은 조건절입니다.

 

예제)

 

select *

from mission1

group by name

having count(name)>1;

 

mission1 테이블 전체를 검색한다.

name이름을 중복하지 않게 뽑아내며 count(name) 이름의 카운트가 1보다 큰 조건을,

 

이해가 안될 수 있다.

 

 

데이터가 다음과 같이 있다고 하자, test와 yoohyeok이라는 이름을 가진 사람이 2명씩 존재한다.

 

우리는 동명이인을 가진 사람의 이름을 검색해 보겠다.

 

 

 

 

위 쿼리로 검색한결과 test와 yoohyeok이라는 이름이 중복됨을 확인하였다. id값과 age값은 빼도 된다.

 

만약에 메뉴의 가격을 나타내는 쿼리를 작성한다면 sum 이라는 함수를 사용해 응용 할 수도 있다.

 

 

group by A having 조건

 

A에 통계된 자료중에 조건이 맞는것을 검색한다. 라는 의미이다.

 

'DB' 카테고리의 다른 글

[MySQL] Join 깔끔한 이해와 사용법  (2) 2018.11.12
[MySQL] AS 사용법  (0) 2018.07.31
[Mysql] MySQL vs MSSQL vs Oracle  (0) 2018.07.20
[Mysql] 내장 함수 정리  (0) 2018.07.17
[Mysql] 기본 쿼리 정리  (1) 2018.07.16