728x90
320x100
MYSQL
SELECT
YEAR(B.SALES_DATE) AS YEAR
, MONTH(B.SALES_DATE) AS MONTH
, A.GENDER
, COUNT(DISTINCT A.USER_ID) AS USERS
FROM USER_INFO A, ONLINE_SALE B
WHERE A.USER_ID = B.USER_ID
AND A.GENDER IS NOT NULL
GROUP BY YEAR(B.SALES_DATE)
, MONTH(B.SALES_DATE)
, A.GENDER
ORDER BY YEAR, MONTH, GENDER
Oracle
SELECT
TO_CHAR(SALES_DATE, 'YYYY') AS YEAR
, TO_NUMBER(TO_CHAR(SALES_DATE, 'MM')) AS MONTH
, A.GENDER AS GENDER
, COUNT(DISTINCT(B.USER_ID)) AS USERS
FROM USER_INFO A, ONLINE_SALE B
WHERE A.USER_ID = B.USER_ID
GROUP BY TO_CHAR(SALES_DATE, 'YYYY')
, TO_NUMBER(TO_CHAR(SALES_DATE, 'MM'))
, A.GENDER
HAVING GENDER IS NOT NULL
ORDER BY YEAR, MONTH, GENDER
;
728x90
320x100
'💻 하나씩 차곡차곡 > 프로그래머스 (SQL)' 카테고리의 다른 글
[JOIN/LEVEL2] 조건에 맞는 도서와 저자 리스트 출력하기 (MySQL/Oracle) (0) | 2023.05.15 |
---|---|
[GROUP BY] 식품분류별 가장 비싼 식품의 정보 조회하기 (Oracle) (2) | 2023.05.11 |
[GROUP BY/LEVEL3] 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 (MySQL/Oracle) (0) | 2023.05.09 |
[GROUP BY] 카테고리 별 도서 판매량 집계하기 (Oracle) (0) | 2023.05.08 |
[GROUP BY/LEVEL3] 조건에 맞는 사용자와 총 거래금액 조회하기(MySQL/Oracle) (0) | 2023.05.04 |