SQL postgresql: максимальное значение и сумма значений - PullRequest
0 голосов
/ 01 мая 2018

Мне нужно сделать запрос к следующей таблице, чтобы вернуть максимальную дату, сгруппированную по коду, а также сделать следующий расчет: 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 голосов
/ 02 мая 2018

PostgreSQL DISTINCT ON в сочетании с ORDER BY вернет первый ряд на группу:

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