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

랜디 Randy·2024년 1월 4일
0

SQL 문제풀이

목록 보기
6/20

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


요구사항

  1. 게시글 제목, 게시글 ID, 댓글 ID, 댓글 작성자 ID, 댓글 내용, 댓글 작성일 SELECT
  2. 2022년 10월 중으로 작성된 게시글일 것
  3. 댓글 작성일을 기준으로 오름차순 정렬할 것
  4. 댓글 작성일이 동일하다면 제목을 기준으로 오름차순 정렬할 것

코드

-- answer
SELECT USED_GOODS_BOARD.TITLE,
        USED_GOODS_BOARD.BOARD_ID,
        USED_GOODS_REPLY.REPLY_ID,
        USED_GOODS_REPLY.WRITER_ID,
        USED_GOODS_REPLY.CONTENTS,
        DATE_FORMAT(USED_GOODS_REPLY.CREATED_DATE, '%Y-%m-%d') AS CREATED_DATE
FROM USED_GOODS_BOARD,
        USED_GOODS_REPLY
WHERE USED_GOODS_BOARD.BOARD_ID = USED_GOODS_REPLY.BOARD_ID
AND USED_GOODS_BOARD.CREATED_DATE BETWEEN '2022-10-01'
                                    AND '2022-10-31'
ORDER BY USED_GOODS_REPLY.CREATED_DATE,
            USED_GOODS_BOARD.TITLE;

DATETIME 포맷 맞추기

답변에서 요구하는 양식

기본 양식

여기서 00:00:00을 지울 필요가 있습니다.

MySQL 사이트 에 들어가보시면 이렇게 포맷이 나오는데, 이 포맷을 따라 코드를 작성해주시면 원하시는 포맷으로 날짜를 출력하실 수 있습니다.

DATE_FORMAT(USED_GOODS_REPLY.CREATED_DATE, '%Y-%m-%d') AS CREATED_DATE

코드 단순화

-- answer
SELECT BOARD.TITLE,
        BOARD.BOARD_ID,
        REPLY.REPLY_ID,
        REPLY.WRITER_ID,
        REPLY.CONTENTS,
        DATE_FORMAT(REPLY.CREATED_DATE, '%Y-%m-%d') AS CREATED_DATE
FROM USED_GOODS_BOARD AS BOARD,
        USED_GOODS_REPLY AS REPLY
WHERE BOARD.BOARD_ID = REPLY.BOARD_ID
AND BOARD.CREATED_DATE BETWEEN '2022-10-01'
						AND '2022-10-31'
ORDER BY REPLY.CREATED_DATE,
            BOARD.TITLE;
-- AS문 활용하여 축약 활용
FROM USED_GOODS_BOARD AS BOARD,
        USED_GOODS_REPLY AS REPLY
profile
데이터는 계단, 직관은 다리

0개의 댓글