rubus0304 님의 블로그
[데이터분석 2일차 ①] (연산, 평균, 갯수, 최대, 최소, Group by, Order by) 본문
[데이터분석 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. 어떤 함수(수식)을 이용해야 하는가
최근 - max (date)
Order by 그대로 오름차순 / order by desc 내림차순
성별기준 - 이름 오름차순
과제: 음식 종류별 가장 높은 주문 금액과 가장 낮은 주문금액을 조회하고, 가장 낮은 주문금액 순으로 (내림차순) 정렬하기
과제 풀며 select 뒤에 값은 원하는 값을 select cuisine_type, mac(price), min(price) 콤마 찍고 바로 적으면 되는구나 신기. 음식 종류별로 가장 높은 금액과 가장 낮은 금액 조회하기
- 튜터세션
: 게임업계 현업 데이터 & 업무프로세스 구경/ 이전 기수 우수 최종프로젝트 - 눈이 휘둥.. 주제, 데이터추출, PPT정리, Tableau 활용 대시보드 구현 - 입이 딱 벌어짐. 이제 Select from 배웠는데 살짝 위축되버림ㄷㄷㅋㅋㅋ 강의 더 열심히 따라잡고 코드카타도 하고 프로젝트 때 응용연습 많이많이 하고, 일단 앞두고있는 자격증 2개 11월에 꼭 따쟈!! 내년 2월이면 나도 코드분석이랑 Tableau로 날아다니길!!
- 라이브세션
: SQL 기본 이론
'Data Analyst > daily' 카테고리의 다른 글
[데이터분석 4일차] (라이브세션 과제: where구문, subquery) (1) | 2024.10.04 |
---|---|
[데이터 분석 3일차 ② ]데이터가 없거나 상식적이지 않을 때 NULL, COALESCE, Pivot Table, Window function (rank, sum, date(포맷함수) (0) | 2024.10.02 |
[데이터 분석 3일차 ①] Subquery, JOIN (1) | 2024.10.02 |
[데이터 분석 2일차 ②] (Replace, Substring, Concat, 문자데이터 바꾸기 , IF, Case, User Segmentation, 오류해결) (0) | 2024.10.01 |
[데이터분석 1일차] (select from/ where) (7) | 2024.09.30 |