Re: Trying to find miss and mister of the last month with highest rating - Mailing list pgsql-general

From David Johnston
Subject Re: Trying to find miss and mister of the last month with highest rating
Date
Msg-id 01e001cc3cf5$b7952240$26bf66c0$@yahoo.com
Whole thread Raw
In response to Re: Trying to find miss and mister of the last month with highest rating  (Alexander Farber <alexander.farber@gmail.com>)
List pgsql-general
-----Original Message-----

And why can't I add u.name, u.avatar
to fetch all the info I need in 1 pass?

# select r.id, count(r.id), u.name, u.avatar, u.city from pref_rep r,
pref_users u where r.nice=true and to_char(current_timestamp - interval '1
month', 'IYYY-MM') = to_char(r.last_rated, 'IYYY-MM') and u.female=true and
r.id=u.id group by r.id order by count desc limit 7;
ERROR:  column "u.*" must appear in the GROUP BY clause or be used in an
aggregate function LINE 1: select r.id, count(r.id), u.name, u.avatar,
u.city
                                  ^

Is there a way to workaround it?

>>>>>>>>>>>>>>>>>>>>

I believe you need to put 'name' in quotes ( like u."name" )

The fact that the warning indicates "u.*" where you didn't use "u.*"
anywhere in your literal syntax means that PostgreSQL is interpreting
something funny.  Trial and error should have narrowed down the options if
you didn't catch that "name" is so common as to likely be utilized by the
database.

Going from memory here...

David J.



pgsql-general by date:

Previous
From: Rich Shepard
Date:
Subject: Re: Add Foreign Keys To Table
Next
From: "Dr. Tingrong Lu"
Date:
Subject: Re: Add Foreign Keys To Table