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