[프로그래머스 / MySQL] 조건에 부합하는 중고거래 댓글 조회하기 (Lv1 - SELECT, DATE_FORMAT)

2026. 1. 2. 17:35·코딩테스트/프로그래머스 SQL

문제링크: https://school.programmers.co.kr/learn/courses/30/lessons/164673?language=mysql

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

1. 코드

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
join USED_GOODS_REPLY r
on b.board_id = r.board_id
where b.created_date >= '2022-10-01' and b.created_date < '2022-11-01'
order by r.created_date asc, b.title asc

 

 

2. 분석

  • 문제에서 join 사용시 어느 테이블의 id 인지 정확히 독해해야한다.
  • 어떤 시기를 조건으로 걸어야할 경우 위에처럼 기간을 부등호로 조건을 걸거나 like 연산자를 활용할 수 있다.
    (b.created_date like '2022-10%')
  • 오름차순, 내림차순은 문제 마지막 조건에 있는 경우가 많으므로 주의해야한다.

3. date_format 정리

  • date_format(컬럼, 형식)으로 날짜 출력 형식을 지정한다.
구분 기호 설명 예시 (2026년 1월 2일 17시 5분 9초)
연도 %Y 4자리 연도 (대문자) 2026 (가장 많이 씀)
  %y 2자리 연도 (소문자) 26
월 %m 01~12 두 자리 월 (소문자) 01 (가장 많이 씀)
  %c 1~12 한 자리 월 1
  %M 월 이름 (영어) January
일 %d 01~31 두 자리 일 (소문자) 02 (가장 많이 씀)
시 %H 00~23 24시간제 (대문자) 17 (가장 많이 씀)
  %h 01~12 12시간제 (소문자) 05
분 %i 00~59 분 (주의: m이 아님) 05
초 %s 00~59 초 09

 

 

1. 'YYYY-MM-DD'

DATE_FORMAT(CREATED_DATE, '%Y-%m-%d')
-- 결과: 2026-01-02

 

2. 'YYYY-MM-DD HH:MM:SS'

DATE_FORMAT(CREATED_DATE, '%Y-%m-%d %H:%i:%s')
-- 결과: 2026-01-02 17:05:09
  • 주의: 분(Minute)은 %i이다. (%m을 쓰면 월이 출력됨)

 

3. 'YYYY년 MM월 DD일' (한글 포맷)

DATE_FORMAT(CREATED_DATE, '%Y년 %m월 %d일')
-- 결과: 2026년 01월 02일

 


4. 시간 관련 함수

  • YEAR(date) : 연도만 반환 (숫자)
  • MONTH(date) : 월만 반환 (숫자)
  • DAY(date) : 일만 반환 (숫자)
  • HOUR(date) : 시간만 반환 (숫자) → "오전 9시에서 18시 사이의 입양 건수" 같은 문제에서 유용

 

'코딩테스트 > 프로그래머스 SQL' 카테고리의 다른 글

[프로그래머스 / MySQL] 과일로 만든 아이스크림 고르기 (Lv1 - SELECT)  (0) 2026.01.08
[프로그래머스 / MySQL] 12세 이하인 여자 환자 목록 출력하기 (Lv1 - SELECT, COALESCE)  (0) 2026.01.07
[프로그래머스 / MySQL] 조건에 맞는 도서 리스트 출력하기 (Lv1 - SELECT)  (0) 2026.01.06
[프로그래머스 / MySQL] 인기있는 아이스크림 (Lv1 - SELECT)  (0) 2026.01.05
[프로그래머스 / MySQL] 평균 일일 대여 요금 구하기 (Lv1 - SELECT)  (0) 2026.01.02
'코딩테스트/프로그래머스 SQL' 카테고리의 다른 글
  • [프로그래머스 / MySQL] 12세 이하인 여자 환자 목록 출력하기 (Lv1 - SELECT, COALESCE)
  • [프로그래머스 / MySQL] 조건에 맞는 도서 리스트 출력하기 (Lv1 - SELECT)
  • [프로그래머스 / MySQL] 인기있는 아이스크림 (Lv1 - SELECT)
  • [프로그래머스 / MySQL] 평균 일일 대여 요금 구하기 (Lv1 - SELECT)
sophon
sophon
sophon 님의 블로그 입니다.
  • sophon
    sophon 님의 블로그
    sophon
    • 카테고리 (172) N
      • 컴퓨터공학 (36)
        • 데이터베이스 (19)
        • 네트워크 (15)
        • 기타 이슈 (2)
      • 프로젝트 (16) N
        • Java (8)
        • Spring (4) N
        • Docker (4)
      • 코딩테스트 (95) N
        • BOJ (74)
        • 프로그래머스 (7)
        • 프로그래머스 SQL (12) N
        • PS Snippets (2)
      • 🌱 잡담 (22)
        • 자격증 (7)
        • 좋은 시 모음 (12)
        • 책과 영화 (3)
        • 기록 (0)
  • 전체
    오늘
    어제
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
sophon
[프로그래머스 / MySQL] 조건에 부합하는 중고거래 댓글 조회하기 (Lv1 - SELECT, DATE_FORMAT)
상단으로

티스토리툴바