[SQL] #2 기본 함수 (GROUP BY, HAVING, MIN,MAX,COUNT,AVG,SUM )
[SQL] #2 기본 함수
📌 GROUP BY / HAVING
각종 집계함수, 그룹 함수와 함께 쓰이며 그룹화된 정보를 제공
SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)
HAVING condition
ORDER BY column_name(s);
- WHERE : 조건 처리 후에 컬럼 그룹화
- HAVING : 컬럼 그룹화 후에 조건 처리
- 순서 잘 기억하기 (❗️WHERE -> GROUP BY -> HAVING -> ORDER BY)
- 예시 :
- type으로 그룹화 후 name 개수 조회
SELECT type, COUNT(name) AS cnt FROM hero_collection GROUP BY type;
결과
- type > 1 인 type 그룹화 후 name 개수 조회
SELECT type, COUNT(name) AS cnt FROM hero_collection WHERE type > 1 GROUP BY type;
결과
- type 그룹화 후 name 개수가 2개 이상 데이터 조회
SELECT type, COUNT(name) AS cnt FROM hero_collection GROUP BY type HAVING cnt >= 2;
결과
- type > 1 인 type을 그룹화 후 name의 개수 가져온 후, 그 중 개수 2개 이상인 데이터를 type 내림차순으로 조회
SELECT type, COUNT(name) AS cnt FROM hero_collection WHERE type > 1 GROUP BY type HAVING cnt >= 2 ORDER BY type DESC;
결과
- type으로 그룹화 후 name 개수 조회
📌 집계 함수
📌 MIN()
선택된 column_name의 최소 value를 불러온다.
형식 :
SELECT MIN(column_name)
FROM table_name
WHERE condition;
예시 :
# 최소 금액 구하기
SELECT MIN(Price) AS SmallestPrice
FROM Products;
📌 MAX()
선택된 column_name의 최대 value를 불러온다.
SELECT MAX(column_name)
FROM table_name
WHERE condition;
예시 :
# 최대 금액 구하기
SELECT MAX(Price) AS LargestPrice
FROM Products;
📌 COUNT()
column_name의 개수 구하기
형식 :
SELECT COUNT(column_name)
FROM table_name
WHERE condition;
📌 AVG()
numeric column의 평균 값 구하기
형식 :
SELECT AVG(column_name)
FROM table_name
WHERE condition;
📌 SUM()
numeric column의 합계 구하기
형식 :
SELECT SUM(column_name)
FROM table_name
WHERE condition;
📌 그 외 함수
- median() : 중앙값 반환
- variance() : 분산 반환
- stddev() : 표준편차 반환
댓글남기기