Blog

[MySQL]10 그룹 함수, Group by절, Having 절

Author
Summary
통계와 관련된 것 합계라던지 평균
Category
Study
Tags
Database
Favorite
Memory Date
2023/08/08
Cross Reference Study
Related Media
Related Thought
Related Lessons
tag
날짜
작성자
진행상황
진행 전
태그구분
6 more properties

1. 그룹 함수(MySQL Numeric Functions)

COUNT(), MAX(), MIN(), AVG(), SUM(), VRIANCE(), STDDEV()
통계치와 관련된 함수들이다. 갯수, 횟수, 최소값, 최대, 합계, 분산, 표준편차 등을 컬럼을 지정하여 구할 수 있다.
반드시 1개의 값을 반환한다.
NULL값이 무시된다.
GROUP BY 절과 함께 사용되어야만 한다.
함수명
기능
사용
COUNT
행의 수를 계산한다.
COUNT(컬럼 | *)
MAX
값들 중에 최대 값을 반환한다.
MAX(컬럼)
MIN
값들 중에 최소 값을 반환한다.
MIN(컬럼)
AVG
평균 값을 계산한다.
AVG(컬럼)
SUM
총 합계를 계산한다.
SUM(컬럼)
VARIANCE
분산을 계산한다.
VARIANCE(컬럼)
STDDEV
표준편차를 계산한다.
STDDEV(컬럼)
동물 보호소에 가장 먼저 들어온 동물은 언제 들어왔는지 조회하는 SQL 문을 작성해주세요. -- 코드를 입력하세요 #가장 먼저 = DATETIME SELECT MIN(DATETIME) FROM ANIMAL_INS
SQL
복사

2. GROUP BY 절

특정 속성을 기준으로 그룹화 하여 검색할 때 그룹화 할 속성을 지정
GROUP BY 절은 반드시 그룹함수와 함께 쓰이며 그룹 함수의 결과 값은 GROUP BY 절에 기술된 컬럼의 항목들의 행의 개수에 의해 결정
-- 코드를 입력하세요SELECT NAME, IF(COUNT(NAME)>1,COUNT(NAME),NULL) AS COUNT FROM ANIMAL_INS GROUP BY NAME HAVING COUNT(NAME)>=2 ORDER BY NAME ASC
SQL
복사
~별로 구분하라, ~들의 같이 해석되면 사용할 수 있다.

3. HAVING 절

HAVING 절은 해석상 WHERE 절과 동일하다. 단 조건 내용에 그룹 함수를 포함하는 것만을 포함한다.
일반 조건은 WHERE 절에 기술하지만 그룹 함수를 포함한 조건은 HAVING 절에 기술한다.
<기본 구조>
SELECT [DISTINCT] 컬럼, 그룹 함수(컬럼) FROM 테이블명 [WHERE 조건] [GROUP BY Group대상] [HAVING 그룹 함수 포함 조건] [ORDER BY 정렬대상 [ASC/DESC]]
SQL
복사
HAVING 절은 GROUP BY 절 뒤에 기술한다.
HAVING 절의 조건은 그룹 함수를 포함해야 한다.
-- 코드를 입력하세요SELECT NAME, IF(COUNT(NAME)>1,COUNT(NAME),NULL) AS COUNT FROM ANIMAL_INS GROUP BY NAME HAVING COUNT(NAME)>=2 ORDER BY NAME ASC
SQL
복사