PostgreSQL 기초강의, PostgreSQL 기초강좌
79강 SQL 함수 정리 : PostgreSQL Aggregate Functions
SQL 함수 정리 79강 시작합니다.
이번 시간에는
▶ PostgreSQL Aggregate Functions 집계함수
에 대해서 알아보는 시간입니다.
이번 시간에는 AVG(), COUNT(), MIN(), MAX(), SUM()과 같은 PostgreSQL 집계함수를 사용하는 방법에 대해 알아봅니다.
Introduction to PostgreSQL aggregate functions : 집계함수
집계 함수는 행 집합에 대해 계산을 수행하고 단일 행을 반환합니다. PostgreSQL 에는 다음과 같은 표준 SQL의 모든 Aggregate 함수가 포함됩니다:
- AVG() – return the average value.
- COUNT() – return the number of values.
- MAX() – return the maximum value.
- MIN() – return the minimum value.
- SUM() – return the sum of all or distinct values.
우리는 자주 SELECT 문에서 GROUP BY 절과 함께 집계 함수를 사용합니다.
이 경우 GROUP BY 절은 결과 집합을 행 그룹으로 나누고 집계 함수는 각 그룹(예: 최댓값, 최솟값, 평균)에 대해 계산을 수행합니다.
다음 절에서만 집계 함수를 식으로 사용할 수 있습니다:
PostgreSQL aggregate functions examples
이제 집계함수를 사용하는 예제를 살펴보겠습니다.
샘플 데이터베이스의 필름 테이블을 시연에 사용해 보겠습니다.
AVG() function examples
다음 문장은 AVG() 함수를 사용하여 모든 필름의 평균 교체 비용을 계산합니다:
SELECT
ROUND( AVG( replacement_cost ), 2 ) avg_replacement_cost
FROM
film;
결과를 소수점 이하 2자리로 반올림하기 위해 ROUND() 함수가 사용되었습니다.
버림, 올림은 어떻게? 버림 trunc SELECT trunc(19.986,2);
trunc는 자르는 함수지만 자를때 기본적으로 버림이 적용 올림 소수점이하 올림은 지원하는 함수가 없다. 그래서 SELECT round(19.986 + 0.005,2);
이런식으로 구현 |
정수로 반올림, 올림, 버림 SELECT round(19.986);
SELECT ceil(19.986); SELECT floor(19.986); 실행해 보고 차이를 확인해보세요. |
COUNT() function examples
필름 테이블의 행 개수를 가져오려면 다음과 같이 COUNT(*) 기능을 사용합니다:
SELECT
COUNT(*)
FROM
film;
where 조건을 사용해 원하는 필름의 개수를 가져올 수 있습니다.
드라마 영화 수를 얻으려면 다음 문장을 사용합니다:
SELECT
COUNT(*) drama_films
FROM
film
INNER JOIN film_category USING(film_id)
WHERE
category_id = 7;
category_id 7번이 드라마입니다.
카테고리별 필름 개수를 count 해보겠습니다.
SELECT
name category
, COUNT(*) drama_films
FROM
film
INNER JOIN film_category USING(film_id)
INNER JOIN category USING(category_id)
GROUP BY category_id
;
MAX() function examples
다음 문구는 필름의 최대 교체 비용을 반환합니다.
SELECT
MAX(replacement_cost)
FROM
film;
교체 비용이 최대인 필름을 가져오려면 다음 쿼리를 사용합니다:
SELECT
film_id,
title
FROM
film
WHERE
replacement_cost =(
SELECT
MAX( replacement_cost )
FROM
film
)
ORDER BY
title;
서브쿼리는 최대 교체 비용을 반환했고, 그 후 외부 쿼리가 영화의 정보를 검색하는 데 사용되었습니다.
MIN() function examples
다음 예제에서는 MIN() 함수를 사용하여 필름의 최소 교체 비용을 반환합니다:
SELECT
MIN(replacement_cost)
FROM
film;
최소 교체 비용이 드는 필름을 가져오려면 다음 쿼리를 사용합니다:
SELECT
film_id,
title
FROM
film
WHERE
replacement_cost =(
SELECT
MIN( replacement_cost )
FROM
film
)
ORDER BY
title;
SUM() function examples
다음 문장은 SUM() 함수를 사용하여 필름의 등급별로 그룹화된 필름의 총길이를 계산합니다:
SELECT
rating,
SUM( rental_duration )
FROM
film
GROUP BY
rating
ORDER BY
rating;
이번 강의에서는 PostgreSQL 집계함수에 대해 배웠고 데이터를 요약하는 데 적용했습니다.
많은 예들을 만들어서 적용해 보시면 금방 익숙해질 거예요.
다음 시간에 만나요.
본 강의는 PostgreSQL Tutorial을 참조합니다. https://www.postgresqltutorial.com/ |
Do it! SQL을 찾아 주셔서 감사합니다. 공감 ♥ , 댓글이 큰 힘이 됩니다. |
'IT > SQL 기초강좌 (PostgreSQL)' 카테고리의 다른 글
81강 SQL 함수 정리 : PostgreSQL STRING_AGG Functions (50) | 2023.01.24 |
---|---|
80강 SQL 함수 정리 : PostgreSQL ARRAY_AGG Functions (59) | 2023.01.23 |
78강 SQL 초석 다지기 : PostgreSQL Recursive Query (74) | 2023.01.21 |
77강 SQL 초석 다지기 : PostgreSQL Common Table Expressions (124) | 2023.01.20 |
76강 SQL 초석 다지기 : PostgreSQL CAST operator (113) | 2023.01.19 |
댓글