views:

36

answers:

1

The documentation for Postgresql window functions seems to imply you can use the same named window in multiple places in your query. However, I can't figure out how do I create a named window?

SELECT first_value(vin) OVER( PARTITION BY vin ) AS w, first_value(make) OVER w
FROM inventory.vehicles
WHERE lot_Id = 9999 AND make is not null;

This is a joke query I'm trying to get the syntax to take.

ERROR: window "w" does not exist

+2  A: 

The answer was actually in the SELECT doc:

WINDOW Clause

The optional WINDOW clause has the general form

WINDOW window_name AS ( window_definition ) [, ...]

SELECT first_value(vin) OVER w
, first_value(make) OVER w
FROM inventory.vehicles
WHERE lot_Id = 9999 AND make is not null
WINDOW w AS ( PARTITION by vin );
Evan Carroll