Language/MySQL
[MySQL] SQL 집계함수 : SUM(), COUNT(), AVG() ...
나는 정은
2022. 10. 14. 17:03
멋쟁이 사자처럼 AI스쿨
데이터리안 Special Lecture : 일단 해보는 SQL - 3
[MySQL] SQL 비교 연산자 및 함수 (LIKE, BETWEEN, IS NULL, DISTINCT, SUBSTRING, ROUND)
멋쟁이 사자처럼 AI스쿨 데이터리안 Special Lecture : 일단 해보는 SQL - 2 [백문이불여일타] 데이터 분석을 위한 기초 SQL - 인프런 | 강의 인프런 누적 수강생 10,000명 이상, 풍부한 온/오프라인 강의 경
salryujutme.tistory.com
solvesql - 연습 문제
© Copyright 2021-2022 solvesql.com
solvesql.com
SQL의 집계 함수
데이터 살펴보기
Waiter's Tips 데이터베이스를 사용하여 예제들을 풀어볼 것이다 !
데이터를 살펴보면 다음과 같이 구성되어있다 !
SELECT *
FROM tips
LIMIT 7

칼럼 ( col ) 의 개수는 총 6개이고 row 개수는 다음과 같이 구할 수 있다.
COUNT () : 전체 행의 개수를 출력
- 테이블에 포함된 총 행의 개수를 출력한다.
SELECT count(*)
FROM tips

- 총 244개 행이 존재한다
SUM() : 더하기
- 총 매출액의 total을 출력해보자
SELECT sum(total_bill)
FROM tips

AVG() : 평균 구하기
- 244개 행 각각의 total_bill 값 평균을 구해보자..
SELECT AVG(total_bill)
FROM tips

DB에 포함되지 않는 NULL값에 대한 집계 ?
- 아스타 기호를 사용하면 NULL 값이 포함되어 집계되지만,
- NULL 값이 있는 변수를 집계할 경우 NULL 값의 개수는 빠진 채 집계된다는 점에 주의하자 !!
-- Q1. 아래 쿼리의 계산식을 적어보세요.
SELECT AVG(total_bill)
FROM tips
-> (16.99 + 10.34 + 21.01 + 23.68) / 4
-- Q2. 아래 쿼리의 계산식을 적어보세요.
SELECT SUM(total_bill) / COUNT(total_bill)
FROM tips
-> (16.99 + 10.34 + 21.01 + 23.68) / 4
-- Q3. 아래 쿼리의 계산식을 적어보세요.
SELECT SUM(total_bill) / COUNT(*)
-> (16.99 + 10.34 + 21.01 + 23.68) / 6 -> 이게 가장 바람직
NULL 값은 집계할 때 아스타 쓰는게 좋음
- 결측값을 제거하는 경우는 아주 신중하게 판단해서 집계해야한다!