SQL(집계함수, Scalar Functions)

Lee JunBok·2023년 6월 8일

SQL

목록 보기
7/8

집계함수

COUNT

총 개수

SELECT COUNT(DISTINCT police_station) FROM crime_status;

SUM

칼럼의 숫자들의 합계

SELECT SUM(case_number) FROM crime_status WHERE status_type='발생';

AVG

숫자칼럼의 평균

SELECT AVG(case_number)
FROM crime_status
WHERE crime_type LIKE '폭력' and status_type='검거';

MIN

숫자칼럼 중 가장 작은값을 찾아주는 함수

SELECT MIN(case_number)
FROM crime_status
WHERE crime_type LIKE '강도' AND status_type='발생';

MAX

숫자칼럼 중 가장 큰값을 찾아주는 함수

SELECT MAX(case_number)
FROM crime_status
WHERE crime_type LIKE '살인' AND status_type LIKE '검거';

GROUP BY

그룹화하여 데이터를 조회 (DISTINCT는 ORDER BY를 사용할 수 없음)

SELECT police_station
FROM crime_status
GROUP BY police_station
ORDER BY police_station;

HAVING

조건에 집계함수가 포함되는 경우 WHERE 대신 HAVING 사용

SELECT police_station, SUM(case_number) count
FROM crime_status
WHERE status_type LIKE '발생'
GROUP BY police_station
HAVING count > 4000;

Scalar Functions

UCASE

대문자 변환

SELECT UCASE(menu) FROM sandwich WHERE price > 15;

LCASE

소문자 변환

SELECT LCASE(menu) FROM sandwich WHERE price > 15;

MID

특정 문자열 출력

SELECT MID(cafe, 6,4) FROM sandwich WHERE ranking=11;
# MID(string, n번째 글자시작, 문자열 개수 m)

LENGTH

문자열의 길이를 반환하는 함수

select length(''); # 0
select length(' '); # 1
select length(null); # null

ROUND

지정한 자리에서 숫자를 반올림하는 함수 (기본값 0) (int 형태)

SELECT ranking, price, ROUND(price) FROM sandwich ORDER BY ranking DESC LIMIT 3;

NOW

현재 날짜 및 시간을 반환하는 함수

SELECT NOW();

FORMAT

숫자를 천단위 콤마가 있는 형식으로 반환하는 함수 (str 형태)

SELECT FORMAT(125487.125, 2); # 125,487.13

이글은 제로베이스 데이터 취업스쿨의 강의자료 일부를 발췌하여 작성되었습니다.

profile
Learning Data Analyst

0개의 댓글