Lv4. 레스토랑 요일 별 구매금액 Top 3 영수증
https://solvesql.com/problems/top-3-bill/
WITH T1 AS (
SELECT *
, RANK() OVER(PARTITION BY day ORDER BY total_bill DESC) AS RNK
FROM tips
)
SELECT day, time, sex, total_bill
FROM T1
WHERE RNK <= 3
❗WHERE 절에 3 이하 조건 달아서 3위까지의 데이터 추출
+) WITH 절
❗WINDOW 함수 RANK() OVER(PARTITION BY ORDER BY) 사용해서 순위 매기기
❗중복을 허용이라 RANK() 사용 (중복 비 허용 시 DENSE_RANK() 사용)
'SQL > SQL | SOLVESQL 코딩테스트' 카테고리의 다른 글
SQL | SOLVESQL 코딩테스트 : Lv4. (ANALYTICS) (0) | 2024.12.05 |
---|---|
SQL | SOLVESQL 코딩테스트 : Lv4. (CASE/IF) (1) | 2024.12.04 |
SQL | SOLVESQL 코딩테스트 : Lv4. (JOIN/UNION) (0) | 2024.12.02 |
SQL | SOLVESQL 코딩테스트 : Lv3. (ANALYTICS) (2) | 2024.11.28 |
SQL | SOLVESQL 코딩테스트 : Lv3. (CASE/IF) (0) | 2024.11.27 |