繁体   English   中英

SQL-根据SUM条件选择记录数

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM