<아티클 스터디>
- 데이터 분석이란?
데이터 분석이란 원하는 데이터를 수집부터 정제(가공), 분석하여 원하는 인사이트를 추출해 내거나 데이터가 포함하고 있는 패턴, 트렌드를 파악하는 것을 말한다.
데이터 분석을 통한 인사이트는 해당 프로세스를 진행하는 분석가의 역량(해당 시장에 대한 관심도, 통계에 대한 이해도)에 따라 질이 달라질 수 있다.
이는 내.외부 이해관계자들의 의사결정에 까지 영향을 미칠 수 있어 분석가의 분석하는 역량도 중요하지만 결과를 직관적이고 가시성 높게 만들어 주는 것도 중요한 부분이다.
+데이터 분석이란 무엇일까?
<오늘 배운 것 요약>
- SQL 2주차 강의
엑셀 대신 SQL로 한번에 계산하기
1. 기초 사칙연산 (+ - /)
예) 상품 준비시간과 배달시간의 합계 구하기
Select food_preparation_time,
delivery_time,
food_preparation_time + delivery_time as total_time
from food_orders
2. SUM - 합계 SUM()
예) 상품 준비시간의 합계
Select sum(food_preparation_time) total_food_preparation_time
from food_orders
3. AVERAGE - 평균 AVG()
예) 상품 준비시간의 평균 구하기
Select avg(delivery_time) avg_food_preparation_time
from food_orders
4. COUNT - 갯수 세기 COUNT(컬럼) '컬럼명 대신 1혹은 사용 가능'
(응용문) DISTINCT - 몇개의 값을 가지고 있는지 구할 때
예) 주문건수와 주문 한 고객 수 구하기
select count(1) count_of_orders,
count(distinct customer_id) count_of_customers
from food_orders
5. MIN/MAX - 최솟/최댓값 MIN/MAX()
예) 주문 가격의 최솟값, 최댓값 구하기
select min(price) min_price,
max(price) max_price
from food_orders
응용예시 (WHERE 절 활용)
1. 주문 금액이 30,000원 이상인 주문건의 갯수 구하기
=> where price>=30000
2. 한국 음식의 주문 당 평균 음식가격 구하기
=> where cuisine_type='Korean'
GROUP BY로 묶어서 정리하기
group by
예) 음식종류별로 묶어서 정리해줘
group by cuisine_type
ORDER BY로 정렬하기
order by
1. 오름차순
예) 이름 순으로 정리해줘 ㄱ~ㅎ
order by name
2. 내림차순 + desc
예) 이름 내림차순으로 정리해줘 ㅎ~ㄱ
order by name desc
총정리(Select ~ Order by)
예) (음식 주문 쿼리) 일주일 별 배달시간 합계를 음식 종류 별로 나타내기
Select cuisine_type,
sum(delivery_time) total_delivery_time
from food_orders
where day_of_the_week='Weekend'
group by cuisine_type
order by sum(delivery_time) desc
- 2주차 숙제
문제: 음식 종류별 가장 높은 주문 금액과 가장 낮은 주문금액을 조회하고, 가장 낮은 주문금액 순으로 (내림차순) 정렬하기
<지시사항>
-
실습에서 사용한 Query를 적기 전에 흐름을 정리해보기를 활용해보세요
-
가장 높은 금액, 가장 낮은 금액은 MIN, MAX 함수로 구할 수 있습니다
-
내림차순은 desc 를 함께 써줘야 합니다
select cuisine_type,
min(price) min_price,
max(price) max_price
from food_orders
group by cuisine_type
order by min(price) desc