[MySQL] Aggregate Functions

김민지·2022년 2월 28일
0

SQL 기본

목록 보기
7/10

1. COUNT

기본 형태

SELECT COUNT(*) FROM table_name;
SELECT COUNT(data_type) FROM table_name;

DISTINCT() 이용하여 중복 없이 데이터 카운트하기

SELECT COUNT(DISTINCT(data_type)) FROM table_name;

LIKE 이용하여 원하는 글자 포함된 데이터 카운트하기

SELECT COUNT(*) FROM books 
WHERE title LIKE '%the%';

2. GROUP BY

GROUP BY 뒤에 묶인 datatype 을 기준으로 그룹핑

예시. 데이터 중 author_lname 기준으로 그룹핑한 개수 출력

SELECT author_lname, COUNT(*) 
FROM books GROUP BY author_lname;

3. MIN / MAX

(1) Without GROUP BY

가장 작은(가장 오래된) released_year 데이터 찾기

SELECT MIN(released_year) 
FROM books;

가장 큰(가장 많은) pages 데이터 찾기

SELECT MAX(pages) 
FROM books;

가장 작은(가장 적은) Pages 포함한 전체 데이터 나타내는 방법

SELECT * FROM books 
WHERE pages = (SELECT Min(pages) 
                FROM books); 
SELECT * FROM books 
ORDER BY pages ASC LIMIT 1;

(2) With GROUP BY

데이터 내 각 저자들의 가장 오래된(가장 일찍 출간된) 책의 데이터 출력하기

SELECT title,
	   author_fname, 
       author_lname, 
       Min(released_year) 
FROM   books 
GROUP  BY author_lname, 
          author_fname; 

4. SUM and AVG

SUM: 해당하는 값 모두 더하기

SELECT SUM(pages)
FROM books;

AVG: 해당 데이터의 평균값 구하기

SELECT AVG(released_year) 
FROM books;
profile
Marketer

0개의 댓글