프로그래머스 - 년, 월, 성별 별 상품 구매 회원 수 구하기 (MySQL)

조민수·2024년 5월 28일
0

Programmers

목록 보기
78/85

Lv4, SQL - 다중 GROUP BY


문제

USER_INFO 테이블과 ONLINE_SALE 테이블에서 년, 월, 성별 별로 상품을 구매한 회원수를 집계하는 SQL문을 작성해주세요. 결과는 년, 월, 성별을 기준으로 오름차순 정렬해주세요. 이때, 성별 정보가 없는 경우 결과에서 제외해주세요.


풀이

  • 각 개수를 셀 때, COUNT()내에 DISTINCT()를 부여했어야 했다.
    • 그거 외엔 어렵지 않았다.
SELECT YEAR(O.SALES_DATE) AS YEAR,
MONTH(O.SALES_DATE) AS MONTH,
U.GENDER, COUNT(DISTINCT(O.USER_ID)) AS USERS
FROM USER_INFO AS U JOIN ONLINE_SALE AS O
ON U.USER_ID = O.USER_ID
WHERE U.GENDER IS NOT NULL
GROUP BY 1, 2, 3
ORDER BY 1, 2, 3
profile
사람을 좋아하는 Front-End 개발자

0개의 댓글