Предположим, у меня есть эта таблица:
select * from window_test;
k | v
---+---
a | 1
a | 2
b | 3
a | 4
В конечном итоге я хочу получить:
k | min_v | max_v
---+-------+-------
a | 1 | 2
b | 3 | 3
a | 4 | 4
Но я был бы так же счастлив получить это (поскольку я могу легко отфильтровать его с помощью Different
) :
k | min_v | max_v
---+-------+-------
a | 1 | 2
a | 1 | 2
b | 3 | 3
a | 4 | 4
Можно ли добиться этого с помощью оконных функций PostgreSQL 9.1+? Я пытаюсь понять, могу ли я заставить его использовать отдельные разделы для первого и последнего вхождения k=a
в этом образце (упорядочено по v
).