Funkcje okna i bardziej „lokalna” agregacja
Załóżmy, że mam tę tabelę:
select * from window_test;
k | v
---+---
a | 1
a | 2
b | 3
a | 4
Ostatecznie chcę uzyskać:
k | min_v | max_v
---+-------+-------
a | 1 | 2
b | 3 | 3
a | 4 | 4
Ale byłbym równie szczęśliwy mogąc to uzyskać (ponieważ mogę to łatwo filtrować)distinct
):
k | min_v | max_v
---+-------+-------
a | 1 | 2
a | 1 | 2
b | 3 | 3
a | 4 | 4
Czy jest to możliwe dzięki funkcjom okna PostgreSQL 9.1+? Próbuję zrozumieć, czy mogę go użyć do oddzielnej partycji dla pierwszego i ostatniego wystąpieniak=a
w tej próbce (zamówione przezv
).