Fensterfunktionen und mehr "lokale" Aggregation

Angenommen, ich habe diese Tabelle:

select * from window_test;

 k | v
---+---
 a | 1
 a | 2
 b | 3
 a | 4

Letztendlich möchte ich bekommen:

 k | min_v | max_v
---+-------+-------
 a | 1     | 2
 b | 3     | 3
 a | 4     | 4

Aber ich würde mich genauso darüber freuen (da ich es leicht filtern kann mitdistinct):

 k | min_v | max_v
---+-------+-------
 a | 1     | 2
 a | 1     | 2
 b | 3     | 3
 a | 4     | 4

Ist es möglich, dies mit PostgreSQL 9.1+ -Fensterfunktionen zu erreichen? Ich versuche zu verstehen, ob ich es schaffen kann, separate Partitionen für das erste und letzte Vorkommen von zu verwendenk=a In diesem Beispiel (bestellt vonv).

Antworten auf die Frage(3)

Ihre Antwort auf die Frage