Tags
- outer join
- drf
- distinct
- Article & User
- migrations
- regexp
- stack
- Queue
- N:1
- create
- 백트래킹
- delete
- 그리디
- 뷰
- 완전검색
- 스택
- ORM
- DB
- M:N
- 통계학
- 이진트리
- Django
- 트리
- Tree
- count
- Vue
- 큐
- update
- SQL
- 쟝고
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Notice
Recent Posts
Link
데이터 분석 기술 블로그
조건에 부합하는 중고거래 댓글 조회하기 _ Lv1. 프로그래머스 * 본문
Solution
SELECT
B.TITLE,
B.BOARD_ID,
R.REPLY_ID,
R.WRITER_ID,
R.CONTENTS,
DATE_FORMAT(R.CREATED_DATE, '%Y-%m-%d') AS CREATED_DATE
FROM USED_GOODS_BOARD B
INNER JOIN USED_GOODS_REPLY R
ON B.BOARD_ID = R.BOARD_ID
WHERE SUBSTR(B.CREATED_DATE, 1, 7) = '2022-10'
ORDER BY
R.CREATED_DATE ASC,
B.TITLE ASC;
제일 오래 걸렸던 문제다. 처음에는 DATE_FORMAT 대신 SUBSTR(R. DATE_FORMATE, 1, 7)을 사용했다. CREATED_DATE는 타입이 DATE로 나와있어서 이렇게 하니까 오류가 나서 찾아보니 DATE 타입은 DATE_FORMAT을 사용해야 한다.
DATE_FORMAT() 주요 포맷 코드
- %Y: 4자리 연도 (예: 2022)
- %y: 2자리 연도 (예: 22)
- %M: 월 이름 (예: October)
- %m: 월 (2자리 숫자, 01부터 12) (예: 10)
- %b: 월의 축약형 이름 (예: Oct)
- %D: 월의 일자와 접미사 (1st, 2nd, 3rd, ...) (예: 12th)
- %d: 일자 (2자리 숫자, 01부터 31) (예: 12)
- %e: 일자 (1자리 숫자, 1부터 31) (예: 12 → 12, 4 → 4)
- %W: 요일 이름 (예: Wednesday)
- %a: 요일의 축약형 (예: Wed)
- %w: 요일 (0 = Sunday, 1 = Monday, ..., 6 = Saturday)
- %j: 연중 일자 (001부터 366) (예: 285)
- %H: 24시간제의 시간 (00부터 23까지)
- %h: 12시간제의 시간 (01부터 12까지)
- %i: 분 (00부터 59까지)
- %s: 초 (00부터 59까지)
- %p: AM/PM (12시간제에서 사용)
WHERE 절에서도 DATE_FORMAT을 사용해도 되지만 SUBSTR을 사용해서 한 번 해봤다.
'SQL > 문제풀이' 카테고리의 다른 글
Weather Observation Station 4 _ Easy. HackerRank (0) | 2024.09.19 |
---|---|
최고의 근무일을 찾아라 _ Lv1 * (0) | 2024.09.17 |
Customer Who Visited but Did Not Make Any Transactions _ Easy. leetcode * (0) | 2024.09.15 |
Weather Observation Station 3 _ Easy. HackerRank (0) | 2024.09.14 |
우리 플랫폼에 정착한 판매자 1 _ Lv1 * (0) | 2024.09.12 |