leet code sql 1204

1204. Last Person to Fit in the Bus
문제
- turn 기준으로 버스에 탑승한 사람들의 무게를 측정
- 1000kg가 넘어가면 버스에 탑승 불가
- 마지막으로 탄 사람을 구하여라
문제 접근
- 누적 집계 함수를 사용할 수 있는지 물어보는 문제
- sum over를 활용하여 구성해주면 된다.
- 마지막으로 탄 사람을 구하기 위해 order by limit을 사용
1
2
3
4
5
6
7
8
9
10
11
12
13
select
person_name
from
(
select
turn,
person_name,
sum(weight) over (order by turn) as total
from Queue
) as t
where total <= 1000
order by total desc
limit 1