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 |
'SQL > 이론' 카테고리의 다른 글
| INNER JOIN (+ 해커랭크 예제) (1) | 2024.10.10 |
|---|---|
| GROUP BY/HAVING (+해커랭크 예제) (0) | 2024.10.09 |
| MySQL 정규표현식 REGEXP + 해커랭크 예제 풀이 (0) | 2023.06.29 |
| ORDER BY/LEFT/RIGHT/SUBSTR/CEIL/FLOOR/ROUND + 해커랭크 예제 풀이 (0) | 2023.06.26 |
| WHERE문 해커랭크 예제 풀이(DISTINCT, NOT LIKE) (0) | 2023.06.22 |