[프로그래머스][SQL] 년, 월, 성별 별 상품 구매 회원 수 구하기

Eunding·2024년 2월 20일
0

SQL 고득점 Kit

목록 보기
35/62

년, 월, 성별 별 상품 구매 회원 수 구하기

https://school.programmers.co.kr/learn/courses/30/lessons/131532

문제

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

예시

풀이

SELECT YEAR(SALES_DATE) AS YEAR, MONTH(SALES_DATE) AS MONTH, GENDER, COUNT(DISTINCT o.USER_ID) AS 'USERS'
FROM USER_INFO u
    INNER 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
  1. USER_ID로 INNER JOIN
  2. GENDER가 NULL이면 제외
  3. YEAR, MONTH, GENDER로 그룹화
  4. YEAR, MONTH, GENDER 오름차순 정렬
  5. 조회할 때 USER_ID 중복으로 세지 않도록 DISTINCT 사용

배운 점

DISTINCT

  • 중복을 제거할 때 사용
    (사실 알고 있었는데 이걸 바로 떠올리지를 못했다.)

그룹화할 때 한 번에 여러 개가 가능하다.

profile
안녕하세요~

0개의 댓글

관련 채용 정보