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
- MySQL
- 텍스트 분석
- 티스토리챌린지
- 스파르타
- 스파르타코딩
- 파이썬 철저 입문
- harkerrank
- 스파르타 코딩
- SQL
- 어쩌다 마케팅
- 파이썬 철저입문
- 내일배움카드
- 실전 데이터 분석 프로젝트
- 미세먼지
- 파이썬 머신러닝 완벽 가이드
- 회귀분석
- 파이썬
- R
- 중회귀모형
- 웹 스크랩핑
- 내일배움
- 파이썬 머신러닝 완벽가이드
- 프로그래머스
- wil
- 내일배움캠프
- 오블완
- TiL
- 프로젝트
- Cluster
- hackerrank
Archives
- Today
- Total
OkBublewrap
Swapped Food Delivery 본문
Swapped Food Delivery
문제
1. 각 주문의 음식 항목이 서로 바뀌었다.
2. 마지막 주문ID가 홀수이면 그대로 유지해야 한다.
풀이
with temp_01 as (
select
order_id,
item,
lead(item) over (order by order_id asc) as lead_item,
lag(item) over (order by order_id asc) as lag_item
from orders
)
select
order_id as corrected_order_id,
case when lead_item is null then item
when mod(order_id, 2) = 1 then lead_item
when mod(order_id, 2) = 0 then lag_item end as item
from temp_01
1️⃣ CTE: 이전행, 이후행 item 가져오기
2️⃣ case when 1: 이후 행 값이 없으면 item 값 반환
3️⃣ case when 2: 주문ID가 홀수 이면 이후 item 값 반환
4️⃣ case when 3: 주문ID가 짝수 이면 이전 item값 반환
'개발 > SQL' 카테고리의 다른 글
FAANG Stock Min-Max (Part 1) (0) | 2025.03.12 |
---|---|
Second Day Confirmation (0) | 2025.03.12 |
Active User Retention (0) | 2025.03.10 |
Y-on-Y Growth Rate (0) | 2025.03.10 |
Postgres 날짜 함수 정리 (0) | 2025.03.10 |