CREATE 문
CREATE TABLE USER_INFO (
USER_ID NUMBER NOT NULL,
GENDER NUMBER NULL,
AGE NUMBER NULL,
JOINED DATE NOT NULL
)
CREATE TABLE ONLINE_SALE (
ONLINE_SALE_ID NUMBER NOT NULL,
USER_ID NUMBER NOT NULL,
PRODUCT_ID NUMBER NOT NULL,
SALES_AMOUNT NUMBER NOT NULL,
SALES_DATE DATE NOT NULL
)
- 내 풀이
SELECT
TO_NUMBER(TO_CHAR(S.SALES_DATE, 'YYYY'))AS YEAR,
TO_NUMBER(TO_CHAR(S.SALES_DATE, 'MM'))AS MONTH,
I.GENDER AS GENDER,
COUNT(DISTINCT(I.USER_ID)) AS USERS
FROM USER_INFO I INNER JOIN ONLINE_SALE S
ON I.USER_ID = S.USER_ID
AND I.GENDER IS NOT NULL
GROUP BY TO_CHAR(S.SALES_DATE, 'YYYY'), TO_CHAR(S.SALES_DATE, 'MM'), I.GENDER
ORDER BY YEAR ASC , MONTH ASC , GENDER ASC
TO_NUMBER(TO_CHAR(S.SALES_DATE, 'YYYY'))AS YEAR,
TO_NUMBER(TO_CHAR(S.SALES_DATE, 'MM'))AS MONTH,
부분에서 TO_NUMBER를 사용하지 않으면 틀린 답으로 나온다 왜일까...?
문자열로 바꿔서 타입이 달라서 그런가...
'프로그래머스 > [프로그래머스 - ORACLE] Lv.4' 카테고리의 다른 글
[프로그래머스 - ORACLE] 주문량이 많은 아이스크림들 조회하기 (0) | 2023.03.23 |
---|---|
[프로그래머스 - ORACLE] 취소되지 않은 진료 예약 조회하기 (0) | 2023.03.23 |
[프로그래머스 - ORACLE] 그룹별 조건에 맞는 식당 목록 출력하기 (0) | 2023.03.23 |
[프로그래머스 - ORACLE] 서울에 위치한 식당 목록 출력하기 (0) | 2023.03.23 |
[프로그래머스 - ORACLE] 5월 식품들의 총매출 조회하기 (0) | 2023.03.23 |
댓글