小编Tii*_*mel的帖子

用单个输入数字逐行减法

我想从前一行减法结果中动态减去,作为输入,我想给出一个数字。

我有桌子 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)

postgresql window-functions

6
推荐指数
1
解决办法
2809
查看次数

计算出库单价

目前我有这样的数据,

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 | …

postgresql window-functions

5
推荐指数
1
解决办法
465
查看次数

标签 统计

postgresql ×2

window-functions ×2