Агрегатная или оконная функция PostgreSQL для возврата только последнего значения

Я использую агрегатную функцию с предложением OVER в PostgreSQL 9.1 и хочу вернуть только последнюю строку для каждого окна. Похоже, что оконная функция last_value () может делать то, что я хочу, но это не так. Он возвращает строку для каждой строки в окне, тогда как мне нужно только одну строку на окно

Упрощенный пример:

SELECT a, some_func_like_last_value(b) OVER (PARTITION BY a ORDER BY b)
FROM
(
    SELECT 1 AS a, 'do not want this' AS b
    UNION SELECT 1, 'just want this'
) sub

Я хочу, чтобы это возвращало одну строку:

1, 'just want this'
7
задан EMP 30 November 2011 в 02:55
поделиться