노아

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

알고리즘/SQL

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

Noaahhh 2024. 9. 19. 14:52

 

Question

 

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

 

 

Pseudocode

 

 

  1. 테이블 정의:
    • used_goods_board: 게시글 정보를 담고 있는 테이블.
    • used_goods_reply: 댓글 정보를 담고 있는 테이블.
  2. 조인:
    • used_goods_board 테이블의 board_id와 used_goods_reply 테이블의 board_id를 조인하여, 댓글이 달린 게시글 정보를 결합합니다.
  3. 조건 설정:
    • used_goods_board의 created_date가 2022년 10월 1일부터 2022년 10월 31일 사이에 해당하는 게시글만 선택합니다.
  4. 열 선택:
    • 게시글 제목 (title)
    • 게시글 ID (board_id)
    • 댓글 ID (reply_id)
    • 댓글 작성자 ID (writer_id)
    • 댓글 내용 (contents)
    • 댓글 생성일 (created_date), 날짜 형식으로 포맷팅 ('%Y-%m-%d')
  5. 정렬:
    • 댓글 생성일(created_date)을 기준으로 오름차순 정렬합니다.
    • 댓글 생성일이 같을 경우, 게시글 제목(title)을 기준으로 오름차순 정렬합니다.

 

 

 

Code

 

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 
    BETWEEN '2022-10-01' AND '2022-10-31'
ORDER  BY created_date, title