https://school.programmers.co.kr/learn/courses/30/lessons/131532
[문제]
USER_INFO 테이블과 ONLINE_SALE 테이블에서 년, 월, 성별 별로 상품을 구매한 회원수를 집계하는 SQL문을 작성해주세요. 결과는 년, 월, 성별을 기준으로 오름차순 정렬해주세요. 이때, 성별 정보가 없는 경우 결과에서 제외해주세요.
[나의 풀이]
SELECT
YEAR(SALES_DATE) YEAR,
MONTH(SALES_DATE) MONTH,
GENDER,
COUNT(DISTINCT O.USER_ID) USERS
FROM ONLINE_SALE O JOIN USER_INFO U
ON O.USER_ID = U.USER_ID
WHERE GENDER IS NOT NULL
GROUP BY YEAR(SALES_DATE), MONTH(SALES_DATE), GENDER
ORDER BY YEAR, MONTH, GENDER;
처음에 그냥 COUNT(*)라고 해서 틀렸다.
DISTINCT를 넣는것이 핵심이다.
'프로그래머스 > My SQL' 카테고리의 다른 글
취소되지 않은 진료 예약 조회하기 (0) | 2024.12.23 |
---|---|
오프라인/온라인 판매 데이터 통합하기 (0) | 2024.12.22 |
그룹별 조건에 맞는 식당 목록 출력하기 (0) | 2024.12.20 |
서울에 위치한 식당 목록 출력하기 (0) | 2024.12.19 |
5월 식품들의 총매출 조회하기 (0) | 2024.12.18 |