MySQL查询获得总' qty '的前10个



所以,我的表是:

数量

可以使用window函数:

select uid, code, qty
from (select t.*, sum(qty) over(order by uid) as qtysum
from t
) t
where qtysum <= 10;

可以使用累加和。要获取超过10的第一行:

select t.*
from (select t.*,
sum(qty) over (order by uid) as running_qty
from t
) t
where running_qty - qty < 10;

如果您想要第一个达到阈值10的行:

select t.*
from (select t.*,
sum(qty) over (order by uid) as running_qty
from t
) t
where running_qty - qty < 10 and
qty >= 10;

最新更新