Postgres Сумма помощи (не так, как ожидалось) - PullRequest
1 голос
/ 04 апреля 2020

Я хотел бы суммировать баланс с помощью следующего запроса


SELECT account_id,partner_id,invoice_id,journal_id,
SUM(account_move_line.balance)
FROM public.account_move_line
WHERE (account_move_line.date BETWEEN '2020-03-01' AND '2020-03-31')
GROUP BY journal_id,account_id,partner_id,invoice_id,account_move_line.id ORDER BY account_move_line.id;

Ожидаемый результат - это сумма баланса для одинаковых account_id, invoice_id и journal_id. В результате я ожидал, что SUM составит -62.63 и -34.43. но на самом деле нет!

таблица захвата

Спасибо за вашу помощь

1 Ответ

1 голос
/ 04 апреля 2020

Удалите столбец account_move_line.id из GROUP BY, потому что вы хотите суммировать остаток для каждой комбинации account_id, partner_id, invoice_id и journal_id:

SELECT 
  account_id,partner_id,invoice_id,journal_id,
  SUM(balance) total_balance
FROM public.account_move_line
WHERE (date BETWEEN '2020-03-01' AND '2020-03-31')
GROUP BY account_id,partner_id,invoice_id,journal_id 
ORDER BY account_id;
...