728x90
❓ Question
❗ Answer
SELECT YEAR(sale.sales_date) YEAR
, MONTH(sale.sales_date) MONTH
, info.gender GENDER
, COUNT(DISTINCT(info.user_id)) USERS
FROM user_info info
INNER JOIN online_sale sale
ON info.user_id = sale.user_id
WHERE info.gender IS NOT NULL
GROUP BY YEAR, MONTH, GENDER
ORDER BY YEAR, MONTH, GENDER;
📌 Discussion
- 동일한 회원이 여러 날에 거쳐서 구매한 경우에도 한 명의 회원으로 집계해야하므로 COUNT(DISTINCT)로 중복제거 후 집계
'SQL 문제풀이' 카테고리의 다른 글
[프로그래머스 SQL] LV.4 취소되지 않은 진료 예약 조회하기 (0) | 2023.08.06 |
---|---|
[프로그래머스 SQL] LV.3 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 (0) | 2023.08.06 |
[프로그래머스 SQL] LV.4 서울에 위치한 식당 목록 출력하기 (0) | 2023.08.06 |
[프로그래머스 SQL] LV.2 조건에 부합하는 중고거래 상태 조회하기 (0) | 2023.08.06 |
[프로그래머스 SQL] LV.1 특정 옵션이 포함된 자동차 리스트 구하기 (0) | 2023.08.05 |