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
).