프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
- 문제
- 코드 및 문제 풀이
SELECT YEAR(SALES_DATE) AS YEAR, MONTH(SALES_DATE) AS MONTH, GENDER,
COUNT(DISTINCT A.USER_ID) AS USERS
FROM USER_INFO AS A
JOIN ONLINE_SALE AS B
ON A.USER_ID = B.USER_ID
GROUP BY YEAR, MONTH, GENDER
HAVING GENDER IS NOT NULL
ORDER BY YEAR, MONTH, GENDER ASC
- USER_INFO 테이블과 ONLINE_SALE 테이블을 USER_ID를 기준으로 합쳤습니다.
- 년, 월, 성별 별로 상품을 구매한 회원수를 집계할 때 GROUP BY에서 년, 월, 성별로 그룹화를 했기 때문에
DISTINCT를 사용하여 USER_ID가 중복되지 않게 했습니다.
- GENDER가 비어있는 경우는 출력에서 제외하기 위해 HAVING에서 조건을 명시했습니다.
'Coding Test > SQL 연습 문제' 카테고리의 다른 글
프로그래머스/MySQL - GROUP BY 12. 저자 별 카테고리 별 매출액 집계하기 (0) | 2023.01.16 |
---|---|
프로그래머스/MySQL - GROUP BY 11. 식품분류별 가장 비싼 식품의 정보 조회하기 (0) | 2023.01.13 |
프로그래머스/MySQL - GROUP BY 09. 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 (0) | 2023.01.13 |
프로그래머스/MySQL - GROUP BY 08. 카테고리 별 도서 판매량 집계하기 (0) | 2023.01.13 |
프로그래머스/MySQL - GROUP BY 07. 동명 동물 수 찾기 (0) | 2023.01.13 |