https://school.programmers.co.kr/learn/courses/30/lessons/164672
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 :
예시 :
해결 :
SELECT BOARD_ID, WRITER_ID, TITLE, PRICE, CASE
WHEN STATUS = 'SALE' THEN '판매중'
WHEN STATUS = 'RESERVED' THEN '예약중'
WHEN STATUS = 'DONE' THEN '거래완료' END AS STATUS
FROM USED_GOODS_BOARD
WHERE YEAR(CREATED_DATE) = 2022 AND MONTH(CREATED_DATE) = 10 AND DAY(CREATED_DATE) = 5
ORDER BY BOARD_ID DESC
판매 상태에 따라 다른 결과를 출력해야하기 때문에 CASE문을 사용했습니다.
날짜의 경우 년도, 월, 일을 따로 따로 조건에 맞게 검색하도록 하였습니다. 아래와 같이 작성하여도 무방합니다.
WHERE CREATED_DATE = '2022-10-05'
게시글 ID를 기준으로 내림차순하기 위해 DESC로 정렬했습니다.
정보 :
1. CASE 문 사용법
CASE WHEN A = B THEN C
WHEN A = D THEN E
ELSE F
END AS INFO
각 케이스에 대해 'CASE WHEN 조건 THEN 결과' 형식으로 사용합니다.
AS 태그를 사용하여 컬럼명을 설정할 수 있습니다.
2. YEAR(), MONTH(), DAY()
DATE형 자료에 대해 각각 년도, 월, 일을 따로 얻어낼 수 있는 함수입니다.
'DB' 카테고리의 다른 글
[프로그래머스]조건에 맞는 도서와 저자 리스트 출력하기(mySQL) (2) | 2023.12.01 |
---|---|
[프로그래머스]자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기(mySQL) (3) | 2023.11.30 |
[프로그래머스] 자동차 평균 대여 기간 구하기(MySQL) (0) | 2023.11.30 |
[프로그래머스] 자동차 대여 기록에서 장기/단기 대여 구분하기(MySQL) (0) | 2023.11.29 |
[프로그래머스] 여러 기준으로 정렬하기(MySQL) (2) | 2023.11.27 |