[英]SQL - Select number of record based on SUM conditions
如果您有订单表,则可以选择金额总和小于$ 1000的所有记录,假设该表已按金额desc进行了排序示例:
id product_id amount
1 1 500
2 3 400
3 2 300
4 1 200
获取所有金额小于$ 1000的订单,则它应返回1和2,因为金额1和2的总和为900 <1000
获取总金额小于$ 1300的所有订单,则应返回1,2,3,因为1,2,3的总和为1200 <1300
您正在寻找一个累加的总和:
select t.*
from (select t.*, sum(t.amount) over (order by t.amount desc) as cume_amount
from t
) t
where cume_amount < 1000;
with a as (
select sum(amount) over (order by amount desc ) as amount_1 from test_order
)
select * from a where amount_1 < 1000;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.