0. SUM 함수와 COUNT 함수가 헷갈리는 이유
' 00 데이터의 총 수를 세라' 라는 문제를 생각없이 풀다보면
SUM 함수와 COUNT 함수를 혼용해서 쓸 때가 있다.
예를 들어, '주문정보 테이블의 주문 건수를 세라' 라는 문제가 있을 때
① 한 주문번호 당 주문한 건 수의 값들을 모두 합해야 하는지
② 주문 건수 컬럼의 전체 행 수를 세야 하는지 헷갈린다.
( ①은 SUM 함수 사용 / ②은 COUNT 함수를 사용)
SUM 함수와 COUNT 함수의 차이를 명확히 알고 넘어가자.
1. SUM 함수와 COUNT 함수
: SQL의 기본 연산 함수
▶ 합계 SUM(계산할 컬럼명)
: 해당 컬럼 안에 들어있는 값들의 합계를 구해줌
▶ 개수 COUNT(세어줄 컬럼명) *컬럼명 대신 1 혹은 * 사용 가능
: 현재 테이블이 몇 개의 데이터를 가지고 있는지 개수를 세줌
+ DISTINCT 몇 개의 값을 가지고 있는지 구할 때 사용 (= 값을 중복없이 세어줌)
2. 실습문제
▶ food_orders 테이블
- 컬럼: restauratn_name / cuisine_type / price / quantity / day_of_the_week / rating / food_preparation / delivery_time 등
2-1) 상품 준비시간의 합계 구하기
▶ SUM 함수 사용
: 상품 준비시간 값들을 모두 합해줌.
SELECT SUM(food_preparation_time) sum_prep,
FROM food_orders fo
2-2) 주문 건수와 주문한 고객 수 구하기
▶ COUNT 함수 사용
: 주문이 들어온 총 건 수와 주문한 고객 수를 구함.
SELECT count(1) count_orders,
count(DISTINCT customer_id) count_customer
FROM food_orders fo
>> COUNT 함수를 사용해 나온 결과인 count_orders인 1,898은 전체 행 수를 세준 것.
>> count_customer의 결과가 1,200인 이유는 customer_id(고객_id)를 DISTINCT로 중복 제거를 해줬기 때문.
즉, 한 주문자 당 주문 횟수가 1회 이상인 경우도 있다는 뜻임.
3. 관련 SQL 노트정리
▶ SELECT~ FROM ~ WHERE절
[IT 교육/SQL] SQL 1주차 강의 노트정리 [국비지원_스파르타 코딩클럽]
▶ 집계함수, Group By 절, Order By 절
[IT 교육/SQL] SQL 2주차 강의 노트정리 [국비지원_스파르타 코딩클럽]
'데이터분석 과정 > SQL' 카테고리의 다른 글
SQL | DISTINCT 탐구_뜻밖의 여정 | Group by절과의 사용법 차이 (1) | 2024.01.06 |
---|---|
SQL | Group By절과 집계 함수는 한 세트 | 집계 함수 사용 시 주의 사항 (1) | 2024.01.05 |
SQL 1주차 강의 노트정리 [국비지원_스파르타 코딩클럽] (0) | 2024.01.03 |
SQL 4주차 강의 노트정리[국비지원_스파르타 코딩클럽] (0) | 2023.01.19 |
SQL 3주차 강의 노트정리 [국비지원_스파르타 코딩클럽] (1) | 2023.01.18 |
댓글