[코딩 공부] 13일차(2/27)

성철민·2023년 2월 27일
0

배움

목록 보기
13/42
post-thumbnail


Schedule1. 스파르타코딩클럽

내일배움캠프 5기 합류 전 기본적인 강의를 들어야 한다고 한다.

강의: [왕초보] 비개발자를 위한, 웹개발 종합반

웹개발을 위한 기본적인 강의 (HTML, CSS, JavaScript)

진도

  • 과제 마무리 및 aws에 내 웹사이트 올리기

감상
이제 fetch를 이용한 request, response가 이해가 됐고 프론트와 백엔드에 대한 이해가 조금씩 가기 시작했다




Schedule2. 프로그래머스 스쿨

코딩테스트 연습

MySQL

상품을 구매한 회원 비율 구하기(Lv.5)

개요: 두 테이블을 적당히 조인하고 2021년 가입자들 중에 online_sale 테이블에서 구매한 회원의 수와 그 비율을 년, 월 별로 출력하는 문제

SELECT 
year(o.sales_date) as year,
month(o.sales_date) as month,
count(distinct(o.user_id)) as puchased_users,
round(count(distinct(o.user_id)) / (SELECT count(*) from user_info where year(joined) = 2021),1) as PUCHASED_RATIO
FROM online_sale as o
inner join user_info as u
on o.user_id = u.user_id
where year(u.joined) = 2021
group by year(o.sales_date), month(o.sales_date)
order by year(o.sales_date), month(o.sales_date);
  • 문제를 이해하는 데 조금 애를 먹었다. 말을 너무 어렵게 써놔서 어려웠지만 하나씩 차근차근 푸니까 풀렸다
  • 먼저 online_sale 테이블에 user_info테이블을 user_id기준으로 inner join해 구매한 유저들을 기준으로 가입한 햇수를 구했다
  • 그리고 where절을 이용해 2021년에 가입한 사람들을 추려내고 각각 구매일자 년과 월로 group by해 년월별로 구매한 유저를 찾을 수 있었다
  • 이제 SELECT절에서는 구매 년과 구매 월을 출력하고 구매한 사람들 중 유일한 값을 출력했다(distinct)
  • 마지막으로 그 구매한 사람들의 수를 또 다른 서브쿼리문으로 나눠줬다
  • 서브쿼리문은 2021년에 가입한 전체 사람 수를 구하기 위해서 user_info 테이블에 where절로 제어를 했다

가격대 별 상품 개수 구하기(Lv.2)

개요: 가격대별 상품 개수를 구하는 문제

SELECT price div 10000 * 10000 as price_group, count(product_code) as products FROM product
group by price_group
order by price_group
  • a DIV x : a를 x로 나눈 몫을 리턴한다
profile
developer

0개의 댓글