Search Postgresql Archives

Re: SELECT DISTINCT ... ORDER BY problem

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

 



Grzegorz Jaśkiewicz wrote:
On Mon, Dec 8, 2008 at 10:19 PM, Madison Kelly <linux@xxxxxxxxxxx> wrote:
Hi all,

 I've got a table that I am trying to SELECT DISTINCT on one column and
ORDER BY on a second column, but am getting the error:

SELECT DISTINCT ON expressions must match initial ORDER BY expressions

try
SELECT distinct,  array_accum(bar) FROM table WHERE bar < '2008-12-07
 16:32:46' AND tbl_id=153 ORDER BY bar LIMIT 1;

or even, when you change bar to proper type - that is, timestamp

SELECT distinct foo,  min(bar) as minbar, max(bar) as maxbar FROM
table WHERE bar < '2008-12-07
 16:32:46' AND tbl_id=153 ORDER BY bar LIMIT 1;

etc.

Trick, is to use aggregate on other value(s).

HTH

Well shoot, I didn't realize I had the 'text' where I should have used 'timestamp'. >_<

I updated the column, but it took me some fiddling (on a test box!) to sort out the proper command. In case it helps someone else, here was the error I was getting when I tried ALTER without USING:

ALTER TABLE table ALTER foo TYPE TIMESTAMP WITHOUT TIME ZONE;
ERROR:  column "foo" cannot be cast to type "pg_catalog.timestamp"

The syntax I needed was:

ALTER TABLE table ALTER foo TYPE TIMESTAMP WITHOUT TIME ZONE USING CAST (foo AS TIMESTAMP);

I know it's a little off-topic, but maybe it'll help someone searching someday. :)

When I try to use:

SELECT distinct foo, min(bar) as minbar, max(bar) as maxbar FROM table WHERE bar < '2008-12-07 16:32:46' AND tbl_id=153 ORDER BY bar LIMIT 1;

I get the error:

ERROR: column "table.foo" must appear in the GROUP BY clause or be used in an aggregate function

Already a very big help though, thanks!

Madi

--
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