达到总和后停止 SQL Select
Stop SQL Select After Sum Reached
我的数据库是 IBM i 的 Db2。
我有只读权限,所以我的查询只能使用基本 SQL select 命令。
============================================= =================
目标:
我想selecttable中的每条记录,直到金额列的总和超过预定的限制。
示例:
我想匹配 table 中的每个项目,直到“价格”列中匹配值的总和 >= $9.00。
想要的结果:
这可能吗?
您可以使用 sum
分析函数计算 运行 总价格,然后按其值过滤:
with a as (
select
t.*,
sum(price) over(order by salesid asc) as price_rsum
from t
)
select *
from a
where price_rsum <= 9
SALESID | PRICE | PRICE_RSUM
------: | ----: | ---------:
1001 | 5 | 5
1002 | 3 | 8
1003 | 1 | 9
db<>fiddle here
我的数据库是 IBM i 的 Db2。
我有只读权限,所以我的查询只能使用基本 SQL select 命令。
============================================= =================
目标:
我想selecttable中的每条记录,直到金额列的总和超过预定的限制。
示例:
我想匹配 table 中的每个项目,直到“价格”列中匹配值的总和 >= $9.00。
想要的结果:
这可能吗?
您可以使用 sum
分析函数计算 运行 总价格,然后按其值过滤:
with a as ( select t.*, sum(price) over(order by salesid asc) as price_rsum from t ) select * from a where price_rsum <= 9
SALESID | PRICE | PRICE_RSUM ------: | ----: | ---------: 1001 | 5 | 5 1002 | 3 | 8 1003 | 1 | 9
db<>fiddle here