일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 머신 러닝
- gan
- 데이터베이스
- machine learning
- C++
- 프로그래머스
- 국민대학교
- 운영체제
- googleapiclient
- Regression
- instaloader
- 정렬
- 재귀
- LSTM
- OS
- Heap
- kmu
- 파이썬
- python3
- 스택
- Python
- db
- programmers
- Seq2Seq
- 국민대
- 회귀
- Stack
- SQL
- PANDAS
- GIT
- Today
- Total
정리 노트
집계 함수 본문
DML 문을 연습할 데이터 베이스는 아래의 사이트에서 스크립트를 다운로드하여 실행해 생성했습니다.
이번 포스트에서는 SQL에서 제공하는 집계 함수들에 대해 알아보겠습니다.
이 함수들이 SELECT 절과 나중에 작성할 HAVING 절, ORDER BY 절에서 적용할 수 있기 때문입니다.
집계 함수는 여러 행들의 그룹이 모여(GROUP BY 절로) 그룹당 단 하나의 결과만을 돌려주는 함수입니다.
아래 사이트에서 MySQL을 기준으로 전체적인 집계 함수 설명을 보여주고 있습니다. 이 포스트에서는 자주 사용하는 집계 함수들만 선정해 작성하겠습니다.
COUNT
COUNT 함수는 행의 수를 반환하는 집계 함수입니다. 인자로 열의 이름을 주면 열의 값이 NULL인 것을 제외한 행의 수, '*' 기호를 인자로 주면 NULL 값을 가진 행을 포함한 전체 행의 수를 출력합니다.
SELECT COUNT(*) FROM orders; // 전체 행의 수 출력
SELECT COUNT(shippedDate) FROM orders; // 해당 열 값이 NULL이 아닌 행의 수 출력
왼쪽의 결과를 보면 orders 테이블의 전체 행의 수가 326개임을 알 수 있습니다. 오른쪽 결과를 통해 shippedDate 열의 값이 NULL이 아닌 행의 수는 312개로 일부 데이터에 NULL 값이 있음을 알 수 있습니다.
SUM / AVG
SUM, AVG 집계 함수는 각각 합계, 평균을 계산하는 집계 함수입니다. 인자로 열의 이름을 주고, 열의 값들의 합계와 평균을 계산해 반환합니다.
SELECT SUM(orderNumber) AS '주문 수 합계' FROM orders;
SELECT ROUND(AVG(orderNumber), 1) AS '주문 수 평균' FROM orders;
왼쪽의 사진으로 orderNumber 열의 값들의 합을 계산한 결과를 얻을 수 있고, 오른쪽 사진으로 열의 평균을 계산하여 얻을 수 있습니다.
두 번째 SQL 문에서 ROUND 함수를 사용해 소수점 한 자리만 표시했습니다.
MIN / MAX
MIN, MAX 집계 함수는 각각 최소, 최대를 출력하는 집계 함수입니다. 이 함수 또한 인자로 열의 이름을 주고, 열의 값들 중 최솟값과 최댓값을 계산해 반환합니다.
SELECT CAST(MIN(creditLimit) AS UNSIGNED) AS '최소 creditLimit' FROM customers;
SELECT CAST(MAX(creditLimit) AS UNSIGNED) AS '최대 creditLimit' FROM customers;
왼쪽의 사진으로 creditLimit 열의 값 중 최솟값을, 오른쪽 사진으로 최댓값을 얻을 수 있습니다.
각 SQL 문에서 CAST 문을 사용해 정수형으로 결과를 표시했습니다.
'개념 정리 > 데이터베이스' 카테고리의 다른 글
ORDER BY 절 (0) | 2024.07.02 |
---|---|
GROUP BY, HAVING 절 (0) | 2024.07.01 |
SQL 단일 행 내장 함수들 (0) | 2024.04.18 |
SELECT문 WHERE절 (4) | 2024.02.28 |
SELECT문 (2) | 2024.02.08 |