본문 바로가기

코딩테스트/SQL - 프로그래머스

SQL 고득점 kit(GROUP BY) - 년, 월, 성별 별 상품 구매 회원 수 구하기

 

-- 풀이 쿼리
SELECT YEAR(O.SALES_DATE) AS YEAR
     , MONTH(O.SALES_DATE) AS MONTH
     , U.GENDER
     , COUNT(DISTINCT U.USER_ID) AS USERS
    FROM USER_INFO U
    JOIN ONLINE_SALE O
        ON U.USER_ID = O.USER_ID
    WHERE GENDER IS NOT NULL
    GROUP BY YEAR, MONTH, GENDER
    ORDER BY YEAR, MONTH, GENDER

 

 - Lv 4 짜리 문제였지만 그다지 어려운 문제는 아니다. 조건만 잘 맞춰주면 된다.

 

 - 단, 풀이에서 사용한 YEAR(), MONTH()등의 함수는 MySQL 외에 다른 DBMS에선 안 먹힐 수도 있으니, EXTRACT나 DATE_TRUNC등의 다른 함수에 대해서도 알고 있어야 할 것이다.