On Fri, Dec 9, 2011 at 5:48 PM, Jack Christensen <ja...@hylesanderson.edu>wrote:

> CREATE TABLE people(
>  id serial PRIMARY KEY,
>  name varchar NOT NULL
> );
>
> INSERT INTO people(name) VALUES('Adam'), ('Adam'), ('Adam'), ('Bill'),
> ('Sam'), ('Joe'), ('Joe');
>
> SELECT name, count(*), random()
> FROM people
> GROUP BY name;
>
>
> I would expect this query to cause an error because of random(). I ran
> into this using an array produced by a subquery as a column in the select
> of an aggregate query, but I was able to boil it down to this contrived
> example. Shouldn't any expression that is not in the group by or an
> aggregate function be rejected?
>
> What am I not understanding?
>
> Thanks.
>
> --
> Jack Christensen
> ja...@hylesanderson.edu
>
>
I don't know the answer, but I would guess that as random() is not known
before hand , it has no reason being in the grouped by.

Reply via email to