sql 函数有累减的功能吗
我只知道有累加sum 有累减吗
累加是可以 用这个
sum(CASE WHEN 未领料 < 0 THEN 0 ELSE 未领料 END) OVER (partition BY
子项物料编码
ORDER BY FPriority rows BETWEEN unbounded preceding AND CURRENT row) AS 累计未领
5-13=-8 然后下行-8 -7=-15 所以 这个累减怎么做
select a, b a-b from t
你这是错误的,你看我的 总现存-未领=现存 5-13= -8
拿-8当总现存 -8-7=-15
@superstar: 你的意思是数据库表里只要未领和现存这两字段?你要查出3个字段来?总现存是要计算出来的?
@superstar: 我没明白你的意思,建议描述再细一些
SQL中也有累减的功能,可以使用类似累加的方式实现。下面是一个例子:
假设有一张表test_table,包含id和value两个字段,现在需要对value字段进行累减,可以使用以下SQL语句:
sql
SELECT t1.id, t1.value, (SELECT SUM(t2.value) FROM test_table t2 WHERE t2.id <= t1.id) as cum_value
FROM test_table t1;
其中,cum_value就是value字段的累减值。这个SQL语句使用了一个子查询,该子查询计算id小于等于当前行id的所有行的value之和,从而得到当前行的累减值。
注意,这种方式不适用于大型数据集,因为每行都需要执行一个子查询,性能可能会较差。
;with a as (
select * from .......
)
select * from a ..........