마케터를 위한 SQL : 데이터 가공 - 함수 (Function), Group by, Order by (작성중)

Sean Lee·2022년 10월 9일
0

마케터를 위한 SQL

목록 보기
7/7
post-thumbnail

이전 블로그, 마케터를 위한 SQL: 중간 정리 (SELECT, FROM, WHERE) 에서 M*N 사이즈를 갖는 단일 테이블을 조회하는 기초적인 SQL 구문들을 정리했습니다. 이번편에서는 M*N 테이블 내에서 데이터를 가공하는 다양한 함수를 소개합니다.

단일행 함수와 다중행 함수

MYSQL에서 기본으로 제공되는 내장함수는 크게 단일행 함수다중행 함수로 구분할 수 있습니다. SQL 구문에서 FROM절의 입력 테이블 사이즈가 M*N일 경우

  • 입력 행(Row)의 크기와 동일한 크기의 행(Row)을 결과로 내는 함수연산인 경우, 단일행 함수라고 정의
  • 입력 행(Row)의 크기보다 더 적은 크기의 행(Row)을 결과로 내는 함수연산인 경우, 다중행 함수라고 정의

특히, 다중행 함수의 경우, 여러 행이 모인 한 세트당 하나의 결과이기 때문에, 세트가 여러개일 경우 반환값도 여러개가 될 수 있습니다.


1. 단일행 함수

단일행 함수는 데이터의 종류에 따라 그에 맞는 함수가 존재합니다. 가령, 문자형 데이터를 가공하는 문자 함수와 숫자형 데이터를 가공하는 숫자 함수가 대표적인 함수의 종류입니다. 아래 테이블에서 다양한 종류의 단일행 함수를 알아보겠습니다.

함수 종류(링크)종류 설명함수 키워드함수 설명
문자 함수LOWER소문자로 변환
문자 데이터 대상 함수UPPER대문자로 변환
SUBSTR부분 문자열 추출 (컬럼, 시작인덱스, 추출 길이)
LENGTH문자열 길이 측정(바이트 기준, 한글 3바이트)
CHAR_LENGTH문자열 길이 측정(글자수 기준)
TRIM(RTRIM, LTRIM)공백 및 문자 제거 (LEADING, TAILING, BOTH)
CONCAT구분자를 통한 문자 결합
CONCAT_WS문자 결합
-------------
숫자 함수숫자를 입력하면 숫자값을 반환ABS절대값
MOD0이 아닌 두 값을 나눈 나머지 값
TRUNC함수 설ㅁㅁㄴㅇㄹㅁㄴㅇㄹㅁㄴㅇ
SIGN함수 설ㅁㅁㄴㅇㄹㅁㄴㅇㄹㅁㄴㅇ
CHR함수 설ㅁㅁㄴㅇㄹㅁㄴㅇㄹㅁㄴㅇ
ROUND소수점 반올림
TRUNCATE특정 위치의 소수점 버림
CEIL소수점 올림
FLOOR소수점 버림
EXP함수 설ㅁㅁㄴㅇㄹㅁㄴㅇㄹㅁㄴㅇ
LOG함수 설ㅁㅁㄴㅇㄹㅁㄴㅇㄹㅁㄴㅇ
날짜 함수숫자를 입력하면 숫자값을 반환ABS함수 설ㅁㅁㄴㅇㄹㅁㄴㅇㄹㅁㄴㅇ
변환 함수숫자를 입력하면 숫자값을 반환ABS함수 설ㅁㅁㄴㅇㄹㅁㄴㅇㄹㅁㄴㅇ
흐름 제어 함수숫자를 입력하면 숫자값을 반환ABS함수 설ㅁㅁㄴㅇㄹㅁㄴㅇㄹㅁㄴㅇ

LN, POWER, COS, TAN


2. 다중행 함수

다중행함수는

다중행 함수는 집계함수, 그룹함수, 윈도우 함수로 구분된다.

  • 집계함수 : COUNT, AVG, SUM, MIN, MAX, STDDEV (표준편차), VARIANCE(분산)
profile
배우기만 하고 생각하지 않으면 얻는 것이 없고, 생각만 하고 배우지 않으면 위태롭다.

0개의 댓글