집계함수를 Order 테이블을 통해서 한 번 정리를 하고 집계함수와 GROUP BY를 함께 사용하는 법도 알아보도록 해요.
COUNT()
- 칼럼의 개수를 파악할 때 사용
SELECT COUNT(order_no) AS '주문수'
FROM Order;
결괏값: order_no의 개수가 집계되어 출력
SUM()
- 칼럼의 합계를 알고 싶을 때 사용
SELECT SUM(sales_amt) AS '주문금액'
FROM Order;
결괏값: sales_amt의 모든 주문금액 합계가 집계되어 출력
AVG()
- 칼럼의 평균값을 알고 싶을 때 사용
SELECT AVG(sales_amt) AS '평균주문금액'
FROM Order;
결괏값: sales_amt의 평균값이 출력
MAX() / MIN()
- 칼럼의 최대/최소값을 알고 싶을 때 사용 (날짜도 포함)
SELECT MAX(order_date) AS '최근구매일자'
FROM Order;
결괏값: order_date에서 가장 최근에 구매한 날짜가 출력
SELECT MIX(sales_amt) AS '최소주문금액'
FROM Order;
결괏값: sales_amt에서 최소 주문금액이 출력
STD()
- 열의 표준 편차값을 알고 싶을 때 사용
SELECT STD(sales_amt) AS '주문금액의 표준편차'
FROM Order;
결괏값: sales_amt의 표준편차값이 출력
VAR_SAMP()
- 열의 분산값을 알고 싶을 때 사용
집계함수 + GROUP BY
SELECT mem_no, COUNT(order_no) AS '주문수'
FROM Order
GROUP BY mem_no;
- mem_no를 GROUP BY해주면 각 사용자들의 주문수를 알 수 있어요.
SELECT mem_no, MAX(order_date) AS '최근구매일'
FROM Order
GROUP BY mem_no;
- mem_no를 GROUP BY해주면 각 사용자들의 최근 구매일도 알 수 있어요.
GROUP BY를 잘 모르신다면, 아래 링크에서 한 번 보시는 걸 추천드립니다.