[SQL 프로그래머스 GROUP BY] 년, 월, 성별 별 상품 구매 회원 수 구하기(ORACLE, MYSQL)
년, 월, 성별 별 상품 구매 회원 수 구하기
USER_INFO 테이블과 ONLINE_SALE 테이블에서 년, 월, 성별 별로 상품을 구매한 회원수를 집계하는 SQL문을 작성해주세요. 결과는 년, 월, 성별을 기준으로 오름차순 정렬해주세요. 이때, 성별 정보가 없는 경우 결과에서 제외해주세요.
-- MYSQL
SELECT DATE_FORMAT(SALES_DATE,'%Y') AS YEAR,
DATE_FORMAT(SALES_DATE,'%m') AS MONTH,
GENDER,
COUNT(DISTINCT USER_ID) AS USERS
FROM USER_INFO
NATURAL JOIN ONLINE_SALE
WHERE GENDER IS NOT NULL
GROUP BY YEAR, MONTH, GENDER
ORDER BY YEAR, MONTH, GENDER;
-- ORACLE
SELECT YEAR, MONTH, GENDER, COUNT(DISTINCT USER_ID) AS USERS
FROM (SELECT TO_CHAR(SALES_DATE,'YYYY') AS YEAR,
TO_NUMBER(TO_CHAR(SALES_DATE,'MM')) AS MONTH,
GENDER,
USER_INFO.USER_ID
FROM USER_INFO, ONLINE_SALE
WHERE USER_INFO.USER_ID = ONLINE_SALE.USER_ID AND GENDER IS NOT NULL)
GROUP BY YEAR, MONTH, GENDER
ORDER BY YEAR, MONTH, GENDER[SQL 프로그래머스 GROUP BY] 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기(ORACLE, MYSQL)