Search Postgresql Archives

Re: (Hopefully stupid) select question.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Fredric Fredricson <Fredric.Fredricson@xxxxxxxxxxxxx> writes:
> ... Now I want the latest "someData" for each "ref" like:

> The best solution I could find depended on the fact that serial is 
> higher for higher dates. I do not like that because if that is true, it 
> is an indirect way to get the data and could possibly, in the future, 
> yield the wrong result if unrelated changes where made or id's reused.

> Here is my solution (that depend on the SERIAL):
> SELECT x.ref,x.someData
>    FROM t as x
>    NATURAL JOIN (SELECT ref,max(id) AS id FROM t GROUP BY ref ORDER BY 
> ref) AS y ;

Well, you could just substitute max(inserted) for max(id).  But you
should also consider using DISTINCT ON --- look at the "weather reports"
example in the SELECT reference page.

BTW, "inserted DATE DEFAULT CURRENT_TIMESTAMP" looks pretty fishy.
You sure the column type shouldn't be timestamp or timestamptz, to
support multiple updates per day?

			regards, tom lane

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


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux