[SQL] 데이터 요약

CC·2022년 10월 14일
0
post-custom-banner

그룹 함수 사용하기

  • 데이터를 실제로 가져오지 않고 분석이나 보고를 목적으로 데이터를 요약해야 할 때 사용한다.
    • 테이블에 있는 행의 수(또는 조건을 만족하거나 특정한 값을 가진 행의 수)를 확인하려고 할 때
    • 테이블에 있는 여러 행의 합계를 구하고자 할 때
    • 테이블에서 가장 큰 값, 가장 작은 값, 평균값을 구하고자 할 때

AVG() 함수

-- 테이블에 있는 행의 수와 각 행의 합을 계산해 특정 열의 평균값을 반환한다.
-- AVG(열이름) 함수는 하나의 열에서만 사용 가능하다.
-- AVG(열이름) 함수는 NULL 값을 가진 행은 무시한다.
SELECT AVG(prod_price) AS avg_price
FROM Products
WHERE vend_id = 'DLL01';

COUNT() 함수

-- COUNT() 함수는 행의 개수를 세는 함수이다.
-- 모든 행의 수를 세기 위해 COUNT(*) 함수를 사용할 때는 NULL 값을 가진 열을 포함한다.
-- 지정한 열에 값이 있는 행의 수를 세기 위해 COUNT(열 이름) 함수를 사용할 때는 NULL 값을 가진 행은 무시한다.
SELECT COUNT(*) AS num_cust
FROM Customers;

SELECT COUNT(cust_email) AS num_cust
FROM Customers;

MAX() 함수

-- MAX(열이름) 함수는 지정한 열에서 가장 큰 값을 반환한다.
-- MAX(열이름) 함수는 NULL 값을 가진 행은 무시한다.
SELECT MAX(prod_price) AS max_price
FROM Products;
-- 문자열 데이터에 MAX() 함수는 데이터가 열로 정렬된 경우 가장 마지막에 있는 행을 반환한다.`

MIN() 함수

-- MIN(열이름) 함수는 지정한 열에서 가장 작은 값을 반환한다.
-- MIN(열이름) 함수는 NULL 값을 가진 행은 무시한다.
SELECT MIN(prod_price) AS min_price
FROM Products;
-- 문자열 데이터에 MIN() 함수는 데이터가 열로 정렬된 경우 가장 처음에 있는 행을 반환한다.

SUM() 함수

-- SUM(열이름) 함수는 지정한 열의 합을 구한다.
-- SUM(열이름) 함수는 NULL 값을 가진 행은 무시한다.
SELECT SUM(quantity) AS item_ordered
FROM OrderItems
WHERE order_item = '1';

SELECT SUM(quantity * item_price) AS total_price
FROM OrderItems
WHERE order_num = 20005;

중복되는 값에 대한 그룹 함수

  • ALL은 기본값이므로 아무런 키워드도 쓰지 않으면 모든 행에 대해 계산을 수행한다.
  • 중복되는 값을 제거하기 위해 DISTICT 키워드를 사용한다.
SELECT AVG(DISTINCT prod_price) AS avg_price
FROM Products
WHERE vend_id='DLL01';

그룹 함수 결합하기

SELECT COUNT(*) AS num_items,
		AVG(DISTINCT prod_price) AS avg_price,
		MIN(prod_price) AS min_price,
		MAX(prod_price) AS max_price
FROM Products;
post-custom-banner

0개의 댓글