Log*_*ice 2 sql sum db2-400 ibm-midrange
我的数据库是 IBM i 的 Db2。
我具有只读访问权限,因此我的查询必须仅使用基本 SQL 选择命令。
=================================================== ===========
目标:
我想选择表中的每条记录,直到金额列的总和超过预定限制。
例子:
我想匹配表中的每个项目,直到“价格”列中匹配值的总和 >= $9.00。
期望的结果:
这可能吗?
您可以使用sum分析函数来计算价格的运行总计,然后按其值进行过滤:
Run Code Online (Sandbox Code Playgroud)with a as ( select t.*, sum(price) over(order by salesid asc) as price_rsum from t ) select * from a where price_rsum <= 9销售人员 | 价格 | PRICE_RSUM ------: | ----:| ---------: 1001 | 1001 5 | 5 1002 | 1002 3 | 8 1003 | 1003 1 | 9
db<>在这里摆弄