rubus0304 님의 블로그

[데이터분석 2일차 ①] (연산, 평균, 갯수, 최대, 최소, Group by, Order by) 본문

Data Analyst/daily

[데이터분석 2일차 ①] (연산, 평균, 갯수, 최대, 최소, Group by, Order by)

rubus0304 2024. 10. 1. 14:12

- 튜터세션 

- 라이브세션

- SQL 기초강의 2,3회차

 

1. 계산하기: + (더하기), - (빼기), * (곱하기), / (나누기), Sum (합계), Average (평균)

 

ex) 음식주문 테이블에서 음식준비시간, 배달시간을 뽑고, 준비시간+배달시간 합계 (합계별명 total_time)

select food_preparation_time, delivery time, food_preparation_time + delivery_time as total_time

from food_orders

 

2. 갯수구하기: Count 

COUNT(컬럼) * 컬럼명 대신 1 혹은 * 사용 가능 )

몇개의 값을 가지고 있는지 구할 때 : DISTINCT

select count (*)/ count (1)  - 전체

select count (distinct customer_id) 주문을 한 고객 갯수

 

ex) 주문건수와, 주문 한 고객 수 구하기 (별명포함)

select count (1) count_of_orders,

select count (distinct customer_id) count_of_customers

from food_orders

 

3. 최대, 최소값: max, min

 

ex) 주문 가격의 최솟값, 최댓값 구하기 (별명포함)

select min(price) min_price,

          max(price) max_price

from food_orders

 

< Where구문과 응용 >

  1) 주문금액이 30,000원 이상주문건의 갯수 구하기 (별명포함)

       select count(order_id) count_of_orders

       from food_orders

       where price>= 30000

       ** select count(*)  아님!

 

   2) 한국음식의 주문 당 평균 음식가격 구하기 (별명포함)

       select avg(price) as average_price

       from food_orders

       where cuisine_type = 'Korean'

 

4. 범주 구하기:  group by 컬럼 (select 뒤 동일컬럼, 뽑고자하는 데이터)

 

ex) 음식 종류별 주문 금액 합계

select cusine_type,

          sum(price) sum_of_price 

from food_orders

group by cuisine_type

 

ex)  음식점별 주문 금액 최댓값 조회하기

select restaurante_name,

           max(price) "최대 주문금액"

from food_orders

group by restaurant_name

 

ex) 결제 타입별 "가장 최근" 결제일 조회하기

select pay_type,

          max(date) "최근 결제일"

from payments

grounp by pay_type

 

5. 정렬하기:  order by (그대로는 오름차순) , order by 컬럼 desc (내림차순)

 

ex) 음식점별 주문 금액 최댓값 조회하기 - 최댓값 기준으로 내림차순 정렬

select restaurant_name,

           max(price) "최대 주문금액"

from food_orders

group by restaurant_name

order by max(price) desc

 

ex) 고객이름 순으로 오름차순으로 정렬하기

select *

from customers

order by name 

 

6. SQL 구조 마스터 - WHERE, GROUP BY, ORDER BY

 

 

과제:

음식 종류별 가장 높은 주문 금액과 가장 낮은 주문금액을 조회하고, 가장 낮은 주문금액 순으로 (내림차순) 정렬하기

 

select cuisine_type,

          max(price) max_price

          min(price) min_price

from food orders

group by cuisine_type

order by min(price) desc

 

 

 

 

 

 

 

갯수구하기

select count (*)/ count (1)  - 전체

select conut (distinct customer_id) 주문을 한 고객 갯수

 

 

 

 

 

 

 

 

 

1.어떤 테이블에서 데이터를 뽑을 것인가

2.어떤 컬럼을 이용할 것인가

3.어떤 조건을 지정해야 하는가

4. 어떤 함수(수식)을 이용해야 하는가

주문 금액이 30,000원 이상인 주문건의 갯수 구하기

 

 

한국 음식의 주문 당 평균 음식가격 구하기 (주문 당은 food_orders 테이블을 지정하는 것)

 

 

 

 

 

 

 

 

 

음식점별 주문 금액 최댓값 조회하기

 

최근 - max (date)

결제 타입별 가장 최근 결제일 조회하기

 

Order by 그대로 오름차순 / order by    desc  내림차순

오름차순 order by 그대로

 

 

 

 

 

음식점별 주문 금액 최댓값 조회하기 - 최댓값 기준으로 내림차순 정렬

 

고객을 이름 순으로 오름차순으로 정렬하기

 

성별기준 - 이름 오름차순  

 

 

 

 

음식점별 주문 금액 최댓값 조회하기 - 최댓값 기준으로 내림차순 정렬

 

고객을 이름 순으로 오름차순으로 정렬하기

 

 

 

과제: 음식 종류별 가장 높은 주문 금액과 가장 낮은 주문금액을 조회하고, 가장 낮은 주문금액 순으로 (내림차순) 정렬하기

음식 종류별 가장 높은 주문 금액과 가장 낮은 주문금액을 조회하고, 가장 낮은 주문금액 순으로 (내림차순) 정렬하기

과제 풀며 select 뒤에 값은 원하는 값을 select cuisine_type, mac(price), min(price)   콤마 찍고 바로 적으면 되는구나 신기. 음식 종류별로 가장 높은 금액과 가장 낮은 금액 조회하기  

 

 

- 튜터세션 

: 게임업계 현업 데이터 & 업무프로세스 구경/ 이전 기수 우수 최종프로젝트 - 눈이 휘둥.. 주제, 데이터추출, PPT정리, Tableau 활용 대시보드 구현 - 입이 딱 벌어짐. 이제 Select from 배웠는데 살짝 위축되버림ㄷㄷㅋㅋㅋ 강의 더 열심히 따라잡고 코드카타도 하고 프로젝트 때 응용연습 많이많이 하고, 일단 앞두고있는 자격증 2개 11월에 꼭 따쟈!! 내년 2월이면 나도 코드분석이랑 Tableau로 날아다니길!!

 

- 라이브세션 

: SQL 기본 이론