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 값은 집계할 때 아스타 쓰는게 좋음 
  • 결측값을 제거하는 경우는 아주 신중하게 판단해서 집계해야한다!