Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Bert
- gpt1
- 분산
- SQL
- outer join
- MySQL
- join
- 머신러닝
- NLP
- transformer
- 코딩테스트
- ABAE
- paper review
- SQL 첫걸음
- 파이썬
- 연구
- ChatGPT
- 논문리뷰
- Aspect
- 그래프
- 백준
- 알고리즘
- dfs
- LLM
- 자연어처리
- GPT
- deepseek
- 가상환경
- leetcode
- 프로그래머스
Archives
- Today
- Total
huginn muninn
[프로그래머스] 년, 월, 성별 별 상품 구매 회원 수 구하기 SQL 본문
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr

-- 코드를 입력하세요
-- 년,월 성별별로 상품을 구매한 회원수를 집계
-- 년,월 성별을 기준으로 오름차순 정렬
SELECT
YEAR(O.SALES_DATE) AS YEAR,
MONTH(O.SALES_DATE) AS MONTH,
U.GENDER,
COUNT(DISTINCT U.USER_ID) AS USERS
FROM ONLINE_SALE AS O
LEFT JOIN USER_INFO AS U ON O.USER_ID=U.USER_ID
WHERE GENDER IS NOT NULL
GROUP BY
YEAR(O.SALES_DATE),
MONTH(O.SALES_DATE),
U.GENDER
ORDER BY 1,2,3
별로 어렵지 않은 문제, 4단계의 탈을 쓴 2단계 되시겠다.
다만 order 테이블을 정확히 파악하지 않으면 틀리기 쉽다. 왜냐면 나도 처음에 틀렸거등
쉽다면서 틀린 나 꽤나 모순적

online_sale 테이블을 보면 판매 아이디, 유저아이디, 제품 아이디, 판매가격, 판매 날짜 컬럼이 있다. 우리가 풀고자 하는 문제는 년, 월, 성별별로 상품을 구매한 '회원수'를 구하는 것이므로 판매 내역에 있는 모든 user_id를 세면안된다. 구매한 회원수만 세면 되니까 꼭 중복 유저아이디를 제거해주어야 한다.
'코딩테스트' 카테고리의 다른 글
| [leetcode] 185. Department Top Three Salaries SQL (0) | 2024.06.21 |
|---|---|
| [프로그래머스] 보호소에서 중성화한 동물 SQL (0) | 2024.06.21 |
| [leetcode] 550. Game Play Analysis IV 문제 풀이와 윈도우 함수를 사용할 수 있는 위치 (0) | 2024.06.19 |
| [프로그래머스] 연간 평가점수에 해당하는 평가 등급 및 성과금 조회 (0) | 2024.06.19 |
| [프로그래머스] 상품을 구매한 회원 비율 구하기 SQL (0) | 2024.06.14 |