Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- softeer
- programmers
- bfs
- LEVEL 2
- Python
- C언어
- 파이썬
- 오블완
- 너비 우선 탐색
- Dynamic Programming
- javascript
- select
- SQL 고득점 KIT
- Lv. 3
- 프로그래머스
- dfs
- 자바스크립트
- Lv. 1
- DP
- 티스토리챌린지
- 깊이 우선 탐색
- SQL
- 소프티어
- group by
- Lv. 2
- join
- Lv. 0
- Java
- level 3
- 동적계획법
Archives
- Today
- Total
몸과 마음이 건전한 SW 개발자
[SQL-DATE] 프로그래머스 Lv. 3 조건별로 분류하여 주문상태 출력하기 [다시 풀어 보기] 본문
문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/131113
정답 코드
SELECT
ORDER_ID,
PRODUCT_ID,
DATE_FORMAT(OUT_DATE, '%Y-%m-%d') AS OUT_DATE,
CASE
WHEN OUT_DATE > '2022-05-01' THEN '출고대기'
WHEN OUT_DATE <= '2022-05-01' THEN '출고완료'
ELSE '출고미정'
END AS 출고여부
FROM FOOD_ORDER
ORDER BY ORDER_ID;
풀이 과정
- 컬럼 선택 및 변환
- 목적: ORDER_ID, PRODUCT_ID, OUT_DATE 정보를 가져오고, OUT_DATE는 지정된 형식(YYYY-MM-DD)으로 변환.
- 수행:
- SELECT ORDER_ID, PRODUCT_ID, DATE_FORMAT(OUT_DATE, '%Y-%m-%d') AS OUT_DATE
- DATE_FORMAT 함수는 OUT_DATE를 원하는 날짜 형식으로 출력.
- 출고 여부 계산 (CASE 문 사용)
- 목적: OUT_DATE에 따라 출고 여부를 계산하여 새로운 컬럼(출고여부)을 생성.
- 수행:
- CASE 문으로 조건을 설정:
- OUT_DATE > '2022-05-01': 출고대기 (미래 날짜)
- OUT_DATE <= '2022-05-01': 출고완료 (과거 또는 같은 날짜)
- ELSE: 기본값으로 출고미정.
- 결과는 출고여부 컬럼으로 출력.
- CASE 문으로 조건을 설정:
- 테이블 지정
- 목적: 데이터를 가져올 테이블을 지정.
- 수행:
- FROM FOOD_ORDER를 통해 FOOD_ORDER 테이블에서 데이터를 가져온다.
- 정렬
- 목적: 결과를 ORDER_ID 기준으로 정렬.
- 수행:
- ORDER BY ORDER_ID를 사용해 ORDER_ID의 오름차순으로 정렬한다.
- 최종 결과
- 목적: 변환된 데이터와 계산된 값을 출력.
- 결과 컬럼:
- ORDER_ID: 주문 ID.
- PRODUCT_ID: 제품 ID.
- OUT_DATE: YYYY-MM-DD 형식의 출고 날짜.
- 출고여부: 출고 상태를 나타냄.
느낀점
- DATE 부분도 실수하기 쉬운 부분 같다.
- %Y-%M-%D인지 %Y-%M인지 시간을 필요로 하는지를 유의해서 문제를 풀자.
'SQL > 다시 풀어 보기' 카테고리의 다른 글
[SQL-STRING] 프로그래머스 Lv. 3 조건에 맞는 사용자 정보 조회하기 [다시 풀어 보기] (0) | 2024.12.27 |
---|---|
[SQL-STRING] 프로그래머스 Lv. 3 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 [다시 풀어 보기] (0) | 2024.12.27 |
[SQL-JOIN] 프로그래머스 Lv. 3 없어진 기록 찾기 [다시 풀어 보기] (0) | 2024.12.26 |
[SQL-IS NULL] 프로그래머스 Lv. 3 업그레이드 할 수 없는 아이템 구하기 [다시 풀어 보기] (0) | 2024.12.26 |
[SQL-GROUP BY] 프로그래머스 Lv. 3 특정 조건을 만족하는 물고기별 수와 최대 길이 구하기 [다시 풀어 보기] (0) | 2024.12.23 |