SQL postgresql:最大值和值的总和

时间:2018-05-01 16:40:15

标签: sql postgresql max

我需要查询下表,返回按代码分组的最大日期,并进行以下计算:deb-cre(仅限最大值)。 我该怎么做?

code | date       | deb    | cred
-----------------------------------
4    | 2018-01-01 | 100,00 | 200,00
4    | 2017-12-28 | 100,00 | 500,00 
6    | 2018-01-23 | 350,00 | 400,00
6    | 2018-04-28 | 140,00 | 678,00 
8    | 2018-01-12 | 156,00 | 256,00
8    | 2016-02-28 | 134,00 | 598,00 

结果必须是

4    | 2018-01-01 | -200,00 
6    | 2018-04-28 |  -50,00
8    | 2018-01-12 | -464,00

1 个答案:

答案 0 :(得分:0)

PostgreSQL的DISTINCT ONORDER BY组合将返回每组的第一行:

SELECT DISTINCT ON (code)
       code, date, deb - cre
FROM your_table
ORDER BY code, date DESC;