Re: using window-functions to get freshest value - how?

From: "A(dot) Kretschmer" <andreas(dot)kretschmer(at)schollglas(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: using window-functions to get freshest value - how?
Date: 2009-11-20 12:17:38
Message-ID: 20091120121737.GH20234@a-kretschmer.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

In response to Massa, Harald Armin :
> > > Is it possible? How would the SQL utilizing WINDOW-functions look like?
> >
> > there is no point in using window functions in here - simply use
> > "DISTINCT ON".
>
> and how would I use DISTINCT ON for this query? Please bear in mind,
> that there is more then one id_bf (just stopped the sample data with
> one of them)

For my example:

test=# select * from harald order by 1,2;
g | datum | value
---+------------+-------
1 | 2009-11-01 | 10
1 | 2009-11-02 | 11
1 | 2009-11-03 | 12
1 | 2009-11-05 | 1
2 | 2009-11-04 | 20
2 | 2009-11-10 | 100
(6 rows)

the solution with DISTINCT ON:

test=*# select distinct on (g) * from harald order by g, datum desc;
g | datum | value
---+------------+-------
1 | 2009-11-05 | 1
2 | 2009-11-10 | 100
(2 rows)

Regards, Andreas
--
Andreas Kretschmer
Kontakt: Heynitz: 035242/47150, D1: 0160/7141639 (mehr: -> Header)
GnuPG: 0x31720C99, 1006 CCB4 A326 1D42 6431 2EB0 389D 1DC2 3172 0C99

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Sam Jas 2009-11-20 12:18:14 Re: Strange performance degradation
Previous Message Thom Brown 2009-11-20 12:17:07 Re: using window-functions to get freshest value - how?