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 |