Обсуждение: Implementation DISTINCT for window aggregate function: SUM

Поиск
Список
Период
Сортировка

Implementation DISTINCT for window aggregate function: SUM

От
Eugen Konkov
Дата:
Hello PostgreSQL-development,

Oracle has implementation:

select id, amount, sum(DISTINCT amount) over () as total
  from xx;


https://dbfiddle.uk/?rdbms=oracle_18&fiddle=8eeb60183ec9576ddb4b2c9f2874d09f


Why this is not possible in PG?
https://dbfiddle.uk/?rdbms=postgres_12&fiddle=97c05203af4c927ff9f206e164752767


Why Window-specific functions do not allow DISTINCT to be used within the function argument list.?
Which problems are exists?


-- 
Best regards,
Eugen Konkov




Re: Implementation DISTINCT for window aggregate function: SUM

От
David Rowley
Дата:
On Sat, 18 Apr 2020 at 23:47, Eugen Konkov <kes-kes@yandex.ru> wrote:
> select id, amount, sum(DISTINCT amount) over () as total
>   from xx;

> Why this is not possible in PG?

Mainly because nobody has committed anything to implement it yet.

> Why Window-specific functions do not allow DISTINCT to be used within the function argument list.?
> Which problems are exists?

There are some details in [1] which you might be interested in.

David

[1]
https://www.postgresql.org/message-id/flat/CAN1Pwonf4waD%2BPWkEFK8ANLua8fPjZ4DmV%2BhixO62%2BLiR8gwaA%40mail.gmail.com