SQL/프로그래머스 MySQL with code

프로그래머스 MySQL : [lv.4] 년, 월, 성별 별 상품 구매 회원 수 구하기

jamong5 2023. 7. 5. 23:36
 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

DISTINCT, JOIN, GROUP BY

YEAR, MONTH, GENDER 3개의 필드들로 GROUP BY 를 수행해야 합니다.

유저 수를 세는 부분에서는 DISTINCT 로 같은 유저는 한번만 카운팅할 수 있도록 합니다.

JOIN 은 기본적인 inner join 으로 처리해주면 됩니다.

 

쿼리문

SELECT  YEAR(sales_date) AS YEAR,
        MONTH(sales_date) AS MONTH,
        A.gender AS GENDER,
        COUNT(DISTINCT A.user_id) AS USERS
FROM user_info A JOIN online_sale B ON A.user_id = B.user_id
WHERE NOT ISNULL(A.gender)
GROUP BY YEAR(B.sales_date), MONTH(B.sales_date), A.gender
ORDER BY YEAR, MONTH, GENDER