패스트캠퍼스 데이터 분석 부트캠프

[SQL 기초 문법] 데이터 그룹화하기, 규칙 만들기, GROUP BY, HAVING, IF, CASE, CREATE FUNCTION

쓔! 2024. 4. 9. 14:31

06. 데이터 그룹화하기

 

1. 데이터 그룹화 하기 GROUP BY

 

SELECT 추출 컬럼, ,,, (또는 그룹 함수)

FROM 테이블명

WHERE 조건식

GROUP BY 컬럼명;

 

2. 가져올 그룹에 조건 주기 HAVING

SLEECT 컬럼명

FROM 테이블명

WHERE 조건

GROUP BY 컬럼명

HAVING 조건식;

 

3. 그룹함수

SELECT 컬럼명,,,, 그룹함수

FROM 테이블명

WHERE 조건

GROUP BY 컬럼명

HAVING 조건식

 

그룹 함수를 SELECT 절에 넣어 값을 뽑거나, HAVING 절에 넣어 그룹화 할 수 있음

 

1) 데이터 개수를 세는 함수 COUNT

활용법 ex)

COUNT(컬럼명) : 해당 컬럼의 개수를 세어라

COUNT(1) : 하나의 값을 1로 세어라.  

COUNT(*) : 전체 데이터, 로우 값을 세어라

 

단, 널 값이 있다면 카운트 값이 같지 않을 수도 있음

 

2) 합계를 구하는 함수 SUM

 

3) 평균을 구하는 함수 AVG

 

4) 최소/최대 값을 구하는 함수 MIN / MAX

 

4. 쿼리 작성 및 실행 순서★

 

 

07. 규칙 만들기

 

1, 조건 만들기 IF

 

SELECT IF(조건식, 참일때 출력될 값, 거짓일때 출력될 값)

FROM 테이블명

 

+)  IF NULL

 

SELECT IF NULL (조건식, NULL값일때 출력될 값)

FROM 테이블명

 

2. 여러 조건 한번에 만들기 CASE

 

 

 

형식1에서는 WHEN 뒤에 오는 조건식이 칼럼명 = 원하는 값 이런식으로 작성됨

형식2에서는 CASE 뒤에 칼럼명을 적고 WHEN 뒤에는 = 기호 없이 '원하는 값' 만 이렇게 작성하면 됨

EX) CASE type

              WHEN 'bug' THEN 'grass'

=> 타입이 bug면 grass라고 출력해라 

 

 

3. 함수 만들기 CREATE FUNCTION

 

 

 

[ MYSQL Workbench에서 함수 만들 때 주의할 점 ]

 

SET GLOBAL log_bin_trust_function_creators = 1; 

-- 사용자 계정에 function create 권한 생성

DELIMITER //

-- 함수의 시작 지정

//

DELIMITER ; 

-- 함수의 끝 지정