레벨: 4
언어: Mysql
간단한 group by 문제라고 생각합니다.
년도, 월, 성별을 group으로 짓고 다른날에 따른 같은 유저아이디가 중복되서 나올수 있으므로 distinct를 사용하여 중복제거를 해서 나온 값을 카운팅을 한 SQL을 작성했습니다
SELECT YEAR(A.SALES_DATE) AS YEAR
, MONTH(A.SALES_DATE) AS MONTH
, B.GENDER
, COUNT(DISTINCT A.USER_ID) AS USERS
FROM ONLINE_SALE A
JOIN USER_INFO B
ON (A.USER_ID = B.USER_ID)
WHERE B.GENDER IS NOT NULL
GROUP BY YEAR, MONTH, GENDER
ORDER BY YEAR, MONTH, GENDER