我有桌子
Table A
1. 10
2. 20
3. 30
我希望在设置50返回表A中的前两条记录时获取Oracle查询。
当设置60时获取所有记录 当设置70时为空。
感谢..
答案 0 :(得分:0)
我想你想要累积总和:
select t.*
from (select t.*, sum(t.col2) over (order by t.col1) as running_sum
from t
) t
where running_sum < 50;
这将返回输入70的所有记录,但这似乎是最合乎逻辑的事情。您可以添加另一个条件:
select t.*
from (select t.*, sum(t.col2) over (order by t.col1) as running_sum,
sum(t.col2) over () as total_sum
from t
) t
where running_sum < 50 and total_sum <= 50;
但这对我来说并没有多大意义。