[프로그래머스] 조건에 부합하는 중고거래 댓글 조회하기

june·2023년 7월 31일
0

SQL

목록 보기
28/31

조건에 부합하는 중고거래 댓글 조회하기

https://school.programmers.co.kr/learn/courses/30/lessons/164673

  • USED_GOODS_BOARD와 USED_GOODS_REPLY 테이블에서 2022년 10월에 작성된 게시글 제목, 게시글 ID, 댓글 ID, 댓글 작성자 ID, 댓글 내용, 댓글 작성일을 조회하는 SQL문을 작성해주세요. 결과는 댓글 작성일을 기준으로 오름차순 정렬해주시고, 댓글 작성일이 같다면 게시글 제목을 기준으로 오름차순 정렬해주세요.

  • 오답

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 r.created_date >= date('2022-10-01') AND r.created_date < date('2022-11-01')
ORDER BY r.created_date, b.title

댓글 작성일 컬럼이 들어가서 날짜를 댓글 작성일로 했는데, 2022년 10월은 게시글 기준이다!

  • 정답
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 like '2022-10%' -- 수정
ORDER BY r.created_date, b.title

Lesson & Learned

  • DATE(expr) 함수 : 날짜(date)나 DATETIME 표현 expr 에서 DATE 부분을 추출한다.
  • DATE_FORMAT(date, format) 함수 : format 문자열에 따라 date 값을 형식화한다.
    format 문자열에 사용되는 지정자
    %d 는 Day of the month as a numeric value (01 to 31)
    %m 은 Month name as a numeric value (00 to 12)
    %Y 는 Year as a numeric, 4-digit value
  • LIKE 구문 사용
profile
나의 계절은

1개의 댓글

comment-user-thumbnail
2023년 7월 31일

잘 봤습니다. 좋은 글 감사합니다.

답글 달기