我想从前一行减法结果中动态减去,作为输入,我想给出一个数字。
我有桌子 a
CREATE TABLE a (id int, code text, qty numeric);
Run Code Online (Sandbox Code Playgroud)
还有里面的数据
INSERT INTO a (id,code,qty)
(1,'test',5),
(2,'test',3),
(3,'test',10);
Run Code Online (Sandbox Code Playgroud)
1.sample - 当输入是16
- 期望的结果是:
id | qty
--------------
1 | 0
2 | 0
3 | 2
Run Code Online (Sandbox Code Playgroud)
计算将是这样的
case when 16 > 5 then 16-5 else 5-16 end /* result 11, but displayed 0 */
case when 11 > 3 then 11-3 else 3-11 end /* result 8, but displayed 0 */
case when 8 > 10 then …
Run Code Online (Sandbox Code Playgroud) 目前我有这样的数据,
CREATE TABLE foo (id, qty, unit_price, date, action) AS
VALUES
(1, 2000, 4.01235, '2015-10-10'::timestamp, 'in'),
(2, -30, NULL , '2015-10-11'::timestamp, 'out'),
(3, 1800, 4.9 , '2015-10-25'::timestamp, 'in'),
(4, -1000, NULL , '2015-11-12'::timestamp, 'out'),
(5, -980, NULL , '2015-11-20'::timestamp, 'out');
Run Code Online (Sandbox Code Playgroud)
我需要计算传出行的平均价格,以便结果看起来像这样。
身份证 | 数量 | unit_price | 日期 | 行动 ---------------------------------------------- 1 | 2000 | 4.01235 | 2015-10-10 | 在 2 | -30 | 4.01235 | 2015-10-11 | 出去 3 | 1800 | 4.9 | 2015-10-25 | 在 4 | …