Akashic Records

Database 그룹함수 본문

Database Learning Guide

Database 그룹함수

Andrew's Akashic Records 2023. 5. 18. 13:57
728x90

데이터베이스에서 그룹 함수(또는 집계 함수)는 특정 칼럼의 값들에 대해 연산을 수행하여 단일 값을 반환하는 함수입니다. 이 함수들은 SQL 문장 내에서 사용될 수 있으며, 주로 SELECT 문장과 함께 GROUP BY 절에서 사용됩니다.

다음은 주요 그룹 함수들과 그들의 설명입니다:

1. COUNT: 지정된 칼럼의 행 수를 반환합니다. NULL 값은 제외됩니다.

SELECT COUNT(CustomerID) AS "Number of Customers" 
FROM Customers;

이 쿼리는 Customers 테이블에서 CustomerID 칼럼의 행 수를 반환합니다.

 

2. SUM: 지정된 칼럼의 총합을 반환합니다. NULL 값은 제외됩니다.

SELECT SUM(OrderAmount) AS "Total Order Amount" 
FROM Orders;

이 쿼리는 Orders 테이블에서 OrderAmount 칼럼의 총합을 반환합니다.

 

3. AVG: 지정된 칼럼의 평균 값을 반환합니다. NULL 값은 제외됩니다.

SELECT AVG(OrderAmount) AS "Average Order Amount" 
FROM Orders;

이 쿼리는 Orders 테이블에서 OrderAmount 칼럼의 평균 값을 반환합니다.

 

4. MIN: 지정된 칼럼의 최솟값을 반환합니다. NULL 값은 제외됩니다.

SELECT MIN(OrderAmount) AS "Minimum Order Amount" 
FROM Orders;

이 쿼리는 Orders 테이블에서 OrderAmount 칼럼의 최솟값을 반환합니다.

 

5. MAX: 지정된 칼럼의 최댓값을 반환합니다. NULL 값은 제외됩니다.

SELECT MAX(OrderAmount) AS "Maximum Order Amount" 
FROM Orders;

이 쿼리는 Orders 테이블에서 OrderAmount 칼럼의 최댓값을 반환합니다.

 

이와 같이, 그룹 함수는 데이터의 특정 집합에 대해 연산을 수행하여 결과를 요약할 때 매우 유용합니다. 이러한 함수를 사용하면 데이터의 통계적 속성을 빠르고 효과적으로 얻을 수 있습니다.

 

그룹 함수와 함께 사용되는 두 가지 중요한 SQL 절은 GROUP BYHAVING입니다. 또한, 결과를 정렬하기 위해 ORDER BY도 자주 사용됩니다.

 

1. GROUP BY: GROUP BY 절은 특정 칼럼을 기준으로 결과를 그룹화합니다. 그룹화된 각 그룹에 대해 그룹 함수를 적용할 수 있습니다.

SELECT CustomerID, COUNT(OrderID) AS "Number of Orders"
FROM Orders
GROUP BY CustomerID;

이 쿼리는 Orders 테이블을 CustomerID별로 그룹화하고, 각 고객이 주문한 주문 수를 반환합니다.

 

2. HAVING: HAVING 절은 그룹 함수에 대한 조건을 지정합니다. 이는 WHERE 절이 그룹 함수에 대한 조건을 지정할 수 없는 경우에 사용됩니다.

SELECT CustomerID, COUNT(OrderID) AS "Number of Orders"
FROM Orders
GROUP BY CustomerID
HAVING COUNT(OrderID) > 5;

이 쿼리는 Orders 테이블을 CustomerID별로 그룹화하고, 5개 이상의 주문을 한 고객의 주문 수를 반환합니다.

 

3. ORDER BY: ORDER BY 절은 결과를 특정 칼럼에 따라 오름차순(ASC) 또는 내림차순(DESC)으로 정렬합니다.

SELECT CustomerID, COUNT(OrderID) AS "Number of Orders"
FROM Orders
GROUP BY CustomerID
ORDER BY COUNT(OrderID) DESC;

이 쿼리는 Orders 테이블을 CustomerID별로 그룹화하고, 각 고객이 주문한 주문 수를 반환한 다음, 주문 수에 따라 내림차순으로 결과를 정렬합니다.

 

GROUP BY, HAVING, 그리고 ORDER BY 절을 이해하고 사용하는 것은 데이터를 분석하고 요약하는데 있어 중요한 도구입니다. 이를 통해 데이터의 다양한 통계를 쉽게 추출하고 이해할 수 있습니다.

728x90

'Database Learning Guide' 카테고리의 다른 글

아카이브 로그 백업(RMAN)  (0) 2023.05.23
SQL CASE 문장  (0) 2023.05.23
DataBase Join의 종류와 그 구조  (0) 2023.05.18
CBO(Cost-Based Optimizer)  (0) 2023.05.18
서브쿼리(Subquery)의 종류  (1) 2023.05.17
Comments