티스토리 뷰

Tip and Error/ETC

4. Aggregates

geonwoopaeng@gmail.com 2021. 3. 4. 13:46

Aggregates


https://www.codecademy.com/learn/learn-sql/modules/learn-sql-aggregate-functions/cheatsheet


  • Table의 여러 행에서 수행되는 계산

COUNT()         -- 행 수 계산
SUM()             -- 열에 있는 값의 합계
MAX() / MIN()     -- 가장 큰 / 가장 작은 값
AVG()             -- 열에 있는 값의 평균
ROUND()         -- 열의 값을 반올림
GROUP BY         -- 하나 이상의 열에서 데이터를 결합
HAVING             -- 결과를 제한



Table 행 수 계산(COUNT)


  • 열 이름을 인수로 사용하고 해당 열에서 비어 있지 않은 값의 수를 계산하는 함수

SELECT COUNT(*)
FROM table_name;

-- ex)
SELECT COUNT(*)
FROM gpaeng
WHERE price = 0;



특정 열 값의 합(SUM)


  • 열 이름을 인수로 사용하고 해당 열에 있는 모든 값의 합계를 반환하는 함수

SELECT SUM(column(name))
FROM table_name;

-- ex)
SELECT SUM(downloads)
FROM gpaeng;



특정 열의 최고 및 최저 값(MAX, MIN)


SELECT MIN(column(name))
FROM table_name;

-- ex)
SELECT MIN(downloads) --SELECT MAX(downloads)
FROM gpaeng;



특정 열의 평균 값(AVG)


SELECT AVG(column(name))
FROM table_name;

-- ex)
SELECT AVG(downloads)
FROM gpaeng;



특정 열의 값을 반올림(ROUND)


SELECT ROUND(column(name), 정수(반올림 할 자리 수))
FROM table_name;

-- ex)
SELECT ROUND(AVG(price), 2)
FROM gpaeng;



SELECT에 나온 데이터를 그룹으로 배열(GROUP BY)


SELECT column(name), COUNT(*)
FROM table_name
GROUP BY column(name);

-- ex)
SELECT price, COUNT(*)
FROM gpaeng
GROUP BY price;

-- ex)
SELECT price, category, AVG(downloads)
FROM gpaeng
GROUP BY 1; --SELECT한 첫번째 열(price)
-- GROUP BY 2; --SELECT한 두번째 열(category)

HAVING


  • WHERE 과 유사한 조건을 걸어주는 곳

SELECT price, ROUND(AVG(downloads)), COUNT(*)
FROM table_name
GROUP BY price
HAVING COUNT(*) > 10;

반응형

'Tip and Error > ETC' 카테고리의 다른 글

VPN을 사용해야 할 6가지 이유 (Jim Martin | PC Advisor)  (0) 2021.03.25
5. Multiple tables  (0) 2021.03.06
3. Command (2)  (0) 2021.03.02
2. Command (1)  (0) 2021.03.02
1. Basic  (0) 2021.03.01
공지사항
최근에 올라온 글