본문 바로가기
[IT 서비스기획 공부]

SQL 예제풀이

by 수제팥앙금 2024. 1. 30.

1. 전체 주문 현황을 파악하기 위해서 [주문 수 / 주문 매출 / 최대 주문 매출 / 최소 주문 매출 / 평균 주문 매출]을 산출해주세요.

 

더보기

 

SELECT 
--주문수
count(distinct order_no) as ord_cnt,
--주문매출
sum(sales) as total_sales,
--최대주문매출
max(sales) as max_sales,
--최소주문매출
min(sales) as min_sales,
--평균주문매출
avg(sales) as avg_sales

 FROM `ls-data-literacy-410915.practice.order_info` LIMIT 1000

 

**조건분기함수

1. Case : ~일때 ~로

2. When ~ Then : 

3. When ~ Then ~ Else ~ End  As

 

2. 고객 정보를 파악하기 위해 [성별과 직업별 고객수]를 산출하시오.

(단, 성별과 직업의 정보가 없는 경우는 'no'로 변경) 

 

더보기
SELECT 
--성별과 직업별 고객수(단, 성별과 직업의 정보가 없는 경우는 'no'라고 변경)

case when sex_code = 'null' then 'no'
else sex_code end as sex,

case when job  = 'null' then 'no'
else job end as job,

count(customer_id) as cus_cnt,

FROM `ls-data-literacy-410915.practice.customer`
Group by 1,2

 

3. 상품 id별 주문 현황을 파악하기 위해서 [총 주문수 / 총 매출 / 총 주문수량 / 1주문 평균 매출액]을 산출하시오. 총 주문 수량이 100건 이상인 경우 최종 산출하시오.

 

**

Where / Group by / Having 구분하기 !

 

더보기

1) '상품 id별'~ ==> Group by 

2) 최종산출 ==> Having

-- 상품 id별 주문 현황을 파악하기 위해서 [총 주문수 / 총 매출 / 총 주문수량 / 1주문 평균 매출액]을 산출하시오. 
-- 총 주문 수량이 100건 이상인 경우 최종 산출하시오. >> 산출한 결과에 적용하므로, having 구문 사용

SELECT 

item_id,
count(order_no) as cnt,
sum(sales) as sales,
sum(quantity) as qus,
sum(sales) / count(order_no) as avg_sales


FROM `ls-data-literacy-410915.practice.order_info` 

group by item_id
having sum(quantity) >= 100

LIMIT 1000

 

 

'[IT 서비스기획 공부]' 카테고리의 다른 글

UX 리서치(1)_240225  (1) 2024.02.05
SQL_240130 실습  (0) 2024.01.30
SQL 예제풀이  (0) 2024.01.30
SQL 실무 스터디  (0) 2024.01.29
기획자의 SQL 맛보기(5) HAVING, ORDER BY  (1) 2024.01.23