코딩테스트 연습 - 년, 월, 성별 별 상품 구매 회원 수 구하기 | 프로그래머스 스쿨 (programmers.co.kr)
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
우선 문제는 위 링크 였고, 풀긴 했는데 풀고 나서 다른 사람 답안을 보니.. 나는 너무 돌아온 느낌 (지난번 문제에서 WITH를 알게 되어서 써보고 싶었다.)
WITH SALES AS (
SELECT USER_ID, SALES_AMOUNT, YEAR(SALES_DATE) AS YEAR,
MONTH(SALES_DATE) AS MONTH
FROM ONLINE_SALE)
SELECT YEAR, MONTH, GENDER, COUNT(DISTINCT(A.USER_ID)) AS USERS
FROM SALES A INNER JOIN USER_INFO B ON A.USER_ID = B.USER_ID
WHERE GENDER IS NOT NULL
GROUP BY YEAR, MONTH, GENDER
ORDER BY 1,2,3
;
지금 까지 DATE_FORMAT(X, 조건) 으로 DATE_TYPE 인스턴스를 원하는 값으로 출력 했었는데 만약, DATE_TYPE 인스턴스에서 년도, 월, 일, 시, 분, 초 만 추출 하고 싶으면 바로
YEAR()
MONTH()
DAY()
HOUR()
MINUTE()
SECOND()
를 써서 간단한 쿼리로 출력이 가능한 것을 알았다.
'[Tools] > SQL 이것저것' 카테고리의 다른 글
[MySQL] WHERE 절 서브쿼리 (0) | 2024.10.15 |
---|---|
[MySQL] SQL 라이브 섹션 과제 서브쿼리와 JOIN 마무리 (4) | 2024.10.14 |
[MySQL] 전체 자료 중 특정 시점에서 현황 파악하기 (2) | 2024.10.14 |
[MySQL] 더블 조인이 가능하다?? (3) | 2024.10.11 |
[MySQL] JOIN과 CTE의 활용 (4) | 2024.10.10 |