SQL 기초 - 계산

이재현·2024년 7월 18일

SQL 기초

목록 보기
2/4

SQL 집계함수

기본적으로 +, -, *, /를 이용한 간단한 사칙연산은 굳이 식을 사용할 필요없이 할 수 있다.
그러나 쉽지만 귀찮은 일의 경우 미리 함수로 만들어 둔 것들이 있다.
가장 대표적인 함수는 SUM, AVG, COUNT, MIN, MAX 함수이다.
🌟 이 함수들은 데이터에 null값이 있다면 이를 제외하고 가져옵니다.

1. SUM, AVG

SUM, AVG(AVERAGE)은 이름에서 보이다시피, 합계와 평균을 구하는 함수이다.

SELECT SUM(food-preparation_time) total_food_preparation_time,
	AVG(delivery_time) avg_food_preparation_time
FROM food_orders,

2. COUNT

COUNT는 인수로 집합을 지정하는데, COUNT에 ‘*’ 또는 1을 주게 되면 모든 데이터 개수를 가져온다. 또한 Distinct를 지정하면 중복 데이터를 제외한 결과를 가져옵니다.

SELECT COUNT(1) count_of_orders,
	COUNT(distinct customer_id) count_of_customers
FROM food_orders;

3. MAX, MIN

MAX, MIN는 최댓값, 최솟값을 구하는 함수이다.

SELECT MAX(food-preparation_time),
	MIN(delivery_time)
FROM food_orders



범주 별 연산

GROUP BY

GROUP BY는 범주 별로 그룹화를 하는데, 즉 지정된 열의 값이 같은 행이 하나의 그룹으로 묶어서 연산을 처리할 수 있게 해주는 함수이다.

SELECT cuisine_type,
       SUM(price) sum_of_price
FROM food_orders
GROUP BY cuisine_type



Query 결과 정렬

ORDER BY

ORDER BY는 데이터를 특정 기준에 따라 정렬해주는 함수이다. 일반적으로 데이터는 정렬되어 있지 않고 기준이 없기 때문에 실사용을 위해서는 정렬이 필요한데, 그럴 때 사용된다.
기본적으로 오름차순 정렬(ASC)이지만, 조건으로 DECS를 줘서 내림차순으로 정렬할 수 있다.
또한 복수의 항목를 선택해서 정렬하는 것도 가능하다.

SELECT cuisine_type,
       SUM(price) sum_of_price
FROM food_orders
GROUP BY cuisine_type
ORDER BY SUM(price), name DECS

0개의 댓글