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
- s3
- 디지털교육
- 디지털취업
- DIGITALHANARO
- 유데미
- udemy
- 디지털하나로입학식
- Next.js
- github
- 디지털하나로
- 버전생성프로세스
- 개발자교육과정
- 프로젝트캠프
- 네이버로그인창만들기
- 프론트엔드개발자양성과정
- 하나은행
- 맥북백틱
- kdt
- 부트캠프
- 웅진씽크빅
- 백틱
- 깃허브 레포지토리와 로컬 코드 연결하기
- 프론트엔드배포
- 배포
- 취준생
- 스나이퍼팩토리
- 맥북백틱입력
- `
- 미래내일일경험
Archives
- Today
- Total
Land of Joe
[mySQL] 년, 월, 성별 별 상품 구매 회원 수 구하기 본문
문제
- Table1 : USER_INFO
- Column
USER_ID : 회원 ID
GENDER : 성별
AGE : 나이
JOINED : 가입일
- Table2 : ONLINE_SALE
- Column
ONLINE_SALE_ID : 온라인 상품 판매 ID
USER_ID : 회원 ID
PRODUCT_ID : 상품 ID
SALES_AMOUNT : 판매량
SALES_DATE : 판매일 - 동일한 날짜, 회원 ID, 상품 ID 조합에 대해서는 하나의 판매 데이터만 존재합니다
- USER_INFO 테이블과 ONLINE_SALE 테이블에서 년, 월, 성별 별로 상품을 구매한 회원수를 집계하는 SQL문을 작성해주세요. 결과는 년, 월, 성별을 기준으로 오름차순 정렬해주세요. 이때, 성별 정보가 없는 경우 결과에서 제외해주세요.
문제 분석
USER_INFO 테이블과 ONLINE_SALE 테이블에서 => JOIN, ON
년, 월, 성별 별로 상품을 구매한 회원수를 집계하는 SQL문을 작성해주세요. => GROUP BY, SELECT, COUNT(DISTINCT _ )
결과는 년, 월, 성별을 기준으로 오름차순 정렬해주세요. => ORDER BY
이때, 성별 정보가 없는 경우 결과에서 제외해주세요 = WHERE
풀이
SELECT YEAR(B.SALES_DATE),
MONTH(B.SALES_DATE),
GENDER,
COUNT(DISTINCT B.USER_ID) AS 'USERS'
FROM USER_INFO AS A JOIN ONLINE_SALE AS B ON A.USER_ID = B.USER_ID
WHERE A.GENDER IS NOT NULL
GROUP BY YEAR(B.SALES_DATE), MONTH(B.SALES_DATE), A.GENDER
ORDER BY YEAR(B.SALES_DATE), MONTH(B.SALES_DATE), A.GENDER
'🧠 DataBase' 카테고리의 다른 글
[mySQL] 자동차 평균 대여 기간 구하기 (1) | 2024.10.11 |
---|---|
[mySQL] 카테고리 별 도서 판매량 집계하기 (1) | 2024.10.11 |
[mySQL] 조건에 맞는 회원수 구하기 (0) | 2024.10.11 |
[mySQL] 여러 기준으로 정렬하기, 상위 n개 레코드, 중복 제거하기, 동명 동물 수 찾기 (0) | 2024.10.11 |
[mySQL] 재구매가 일어난 상품과 회원 리스트 구하기 (1) | 2024.10.11 |