엑셀 대신 SQL로 한번에 계산하기 (SUM, AVERAGE, COUNT, MIN, MAX)
SQL에서는 다양한 집계 함수(aggregate function)를 제공하여 데이터의 집합에서 필요한 정보를 계산할 수 있습니다.
연산자 | 설명 |
+ | 더하기 |
- | 빼기 |
* | 곱하기 |
/ | 나누기 |
함수종류
SUM: 주어진 열(컬럼)의 모든 값의 합계를 계산합니다.
SELECT SUM(column_name) FROM table_name;
AVERAGE (AVG): 주어진 열(컬럼)의 모든 값의 평균을 계산합니다.
SELECT AVG(column_name) FROM table_name;
COUNT: 주어진 조건에 맞는 행(레코드)의 수를 계산합니다. (NULL 값을 제외하고 계산합니다)
SELECT COUNT(*) FROM table_name; -- 모든 행의 수를 계산
SELECT COUNT(column_name) FROM table_name; -- 특정 열의 값이 NULL이 아닌 행의 수를 계산
MIN: 주어진 열(컬럼)의 최소값을 반환합니다.
SELECT MIN(column_name) FROM table_name;
MAX: 주어진 열(컬럼)의 최대값을 반환합니다.
SELECT MAX(column_name) FROM table_name;
한국 음식의 주문 당 평균 음식가격 구하기
위와 같은 논리대로 적용시킨 후
ex)
SELECT avg(price) as average_price
FROM food_orders
WHERE cuisine_type='korea'
GROUP BY로 범주별 연산 한 번에 끝내기
GROUP BY 절은 SQL에서 사용되는 중요한 절로, 데이터를 특정 기준에 따라 그룹화하여 집계 연산을 수행할 때 사용됩니다. 주로 집계 함수와 함께 사용되며, 데이터를 그룹별로 요약하거나 분석할 때 유용합니다.
그룹화: 특정 열(컬럼)의 값에 따라 데이터를 여러 그룹으로 나눌 수 있습니다.
집계: 각 그룹에 대해 집계 함수(예: SUM, AVG, COUNT, MIN, MAX 등)를 사용하여 그룹 내 데이터를 요약할 수 있습니다.
필터링: HAVING 절과 함께 사용하여 집계 결과에 대한 조건을 설정할 수 있습니다.
Group by 기본 구조
select 카테고리컬럼(원하는컬럼 아무거나),
sum(계산 컬럼),
from
group by 카테고리컬럼(원하는컬럼 아무거나)
Group by 를 이용하여 카테고리별 연산해보기
음식점별 주문 금액 최댓값 조회하기
select restaurant_name, max(price) "최대 주문금액"
from food_orders
group by restaurant_name
Query 결과를 정렬하여 업무에 바로 사용하기 (ORDER BY)
종류 | 구문 | 예시 |
오름차순 | ASC | order by sum(price) ASC |
내림차순 | DESC | order by sum(price) DESC |
정렬문 Order by 의 기본구조
Order by 는 카테고리 컬럼 지정, 그리고 Order by 를 적어주는 것으로 적용 가능하다.
select 카테고리컬럼(원하는컬럼 아무거나), sum(계산 컬럼),
from
group by 카테고리컬럼(원하는컬럼 아무거나)
order by 정렬을 원하는 컬럼 (카테고리컬럼(원하는컬럼 아무거나), sum(계산 컬럼) 둘 다 가능)