SQL
Aggregate Function 집계 함수 - COUNT/SUM/AVG/MIN/MAX
얆생
2023. 7. 7. 16:51
COUNT
- 개수를 세어줌
SELECT COUNT(* 또는 칼럼명)
FROM 테이블명
- Products
ProductID | ProductName | SupplierID | Price |
1 | A | 1 | 18 |
2 | A | 2 | 19 |
3 | B | 3 | Null |
4 | C | 5 | 22 |
5 | Null | Null | 5 |
- 전체 개수 세기
SELECT COUNT (*)
FROM products
>> 5
- ProductName 개수 세기, 유일값만 세기
SELECT COUNT(productname)
FROM products
>> 4
-- Null 값은 빼고 세줌
SELECT COUNT(DISTINCT productname)
FROM products
>> 3
-- Null값 빼고 중복 안되게
SUM
- 숫자 데이터를 가진 칼럼의 합을 계산해줌
SELECT SUM(칼럼명)
FROM 테이블명
- products 테이블에서 price 합 구하기
SELECT SUM(price)
FROM products
>> 64
AVG
- 숫자 데이터를 가진 칼럼의 평균을 계산해줌
SELECT AVG(칼럼명)
FROM 테이블명
- products 테이블의 price 칼럼 평균 구하기
SELECT AVG(price)
FROM products
>> 16
!! Null값 주의 !!
- 값을 다 더한 후(18+19+22+5) 'Null값이 아닌 데이터'의 개수(4)로 나눠줌
- 만약, Null을 0으로 취급하고 계산하고 싶다면?
SELECT SUM(price)/COUNT(*)
FROM Products
>> 12.8
MIN / MAX
- 숫자 데이터가 있는 칼럼에서 최소/최대값을 계산해줌
SELECT MIN(칼럼명)
FROM 테이블명
SELECT MAX(칼럼명)
FROM 테이블명
- products 테이블에서 price 칼럼의 최솟값/최댓값 구하기
SELECT MIN(price)
FROM products
>> 5
SELECT MAX(price)
FROM products
>> 22
모든 aggregation 함수 한번에 출력하기
SELECT COUNT(price), SUM(price), AVG(price), MIN(price), MAX(price)
FROM Products
COUNT(price) | SUM(price) | AVG(price) | MIN(price) | MAX(price) |
4 | 64 | 16 | 5 | 22 |