On Fri, Jan 16, 2009 at 12:07 PM, David Fetter <da...@fetter.org> wrote:
>>
>> Now i want only 3 records for every typ:
>>
>> test=# select typ, ts, rank() over (partition by typ order by ts desc )  
>> from foo where rank <= 3;
>> ERROR:  column "rank" does not exist
>> LINE 1: ...rtition by typ order by ts desc )  from foo where rank <= 3;
>

maybe the rank should go in a having clause? i'm not familiar about
window functions yet... just guessing...

> I tried this:
>
> SELECT
>    typ,
>    ts,
>    rank() over w AS foo_rank
> FROM
>    foo
>        WINDOW  w AS (partition by typ order by ts desc)
> WHERE
>    foo_rank < 4;
>
> ERROR:  syntax error at or near "WHERE"
> LINE 8: WHERE
>        ^

the WINDOW specification goes after the WHERE clause not before



-- 
Atentamente,
Jaime Casanova
Soporte y capacitación de PostgreSQL
Asesoría y desarrollo de sistemas
Guayaquil - Ecuador
Cel. +59387171157

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to