Thread: COUNT() with ORDER BY

COUNT() with ORDER BY

From
"Andrus"
Date:
create temp table test (col char);
select count(col) from test order by col;

causes

ERROR:  column "test.col" must appear in the GROUP BY clause or be used in
an aggregate function
SQL state: 42803


How to fix this ?
This statement is generated by DbLinq driver and it is difficult to re-qrite
the driver.

Query looks quite resonable to me and should be accepted by PostgreSQL 8.3
Beta.


Andrus.



Re: COUNT() with ORDER BY

From
Martijn van Oosterhout
Date:
On Mon, Jan 14, 2008 at 09:02:46PM +0200, Andrus wrote:
> create temp table test (col char);
> select count(col) from test order by col;
>
> causes
>
> ERROR:  column "test.col" must appear in the GROUP BY clause or be used in
> an aggregate function
> SQL state: 42803
>
>
> How to fix this ?
> This statement is generated by DbLinq driver and it is difficult to re-qrite
> the driver.

Sorry? The query is entirely non-sensical. The output will be a single
row telling you the number of non-null elements in the col column. How
can it be ordered?

Have a nice day,
--
Martijn van Oosterhout   <kleptog@svana.org>   http://svana.org/kleptog/
> Those who make peaceful revolution impossible will make violent revolution inevitable.
>  -- John F Kennedy

Attachment