Postgres使用窗口函数计算差异

时间:2018-11-02 19:02:34

标签: sql postgresql join window-functions

如果这个问题太基本了,我事先表示歉意。窗口功能既有趣又充满挑战!

我有两个Postgres表,如下所示,分别称为client和order。

id | name
------------
41 | james
29 | melinda
36 | henry
...

id | date | volume | client_id
------------------------------
328 | 2018-01-03 | 16 | 41
411 | 2018-01-29 | 39 | 29
129 | 2018-01-13 | 73 | 29
542 | 2018-01-22 | 62 | 36
301 | 2018-01-17 | 38 | 41
784 | 2018-01-08 | 84 | 29
299 | 2018-01-10 | 54 | 36
300 | 2018-01-10 | 18 | 36
178 | 2018-01-30 | 37 | 36
...

a)如何编写查询以找出每个客户的订单量最大差异?例如,client_id = 36应该显示(54 + 18) - 37 = -35。这是因为同一位客户在同一天下的订单应计为一个订单。

b)如何找到每个客户的两个最新订单之间的数量差异?例如,client_id = 29应该显示39 - 73 = -34

1 个答案:

答案 0 :(得分:5)

这是一个T-SQL。
您所说的公式--->最大值(每天的总体积)-最小值(每天的总体积)
可以帮助您。

import React from 'react';
const course=props=>{
return(
    <div className="Course">

        <p>ID: {props.ID}</p>

        <p>SUBJECT: {props.SUBJECT}</p>
    </div>
);
}

export default course;