

还是临时变量
with t as(SELECT B.*,count(passenger_id) people,sum(capacity) over(order by arrival_time rows unbounded preceding) seatsfrom Buses B LEFT JOIN Passengers PON B.arrival_time >= P.arrival_timegroup by bus_id)SELECT bus_id, CONVERT(temp, UNSIGNED INTEGER) passengers_cnt from(SELECT bus_id,@q:=@q+@p,@p:=if(capacity >= people-@q,people-@q,capacity) tempfrom t,(SELECT @p:=0,@q:=0) init) Torder by bus_id
