Re: GROUP BY or alternative means to group - Mailing list pgsql-general

From Michael Gould
Subject Re: GROUP BY or alternative means to group
Date
Msg-id r02pdd0qpqha0ar3wq6kqxj1.1331583485074@email.android.com
Whole thread Raw
In response to GROUP BY or alternative means to group  (Alexander Reichstadt <lxr@mac.com>)
Responses Re: GROUP BY or alternative means to group
List pgsql-general
You need to include all columns that are not aggregrative columns in the group by.  Even though that is the standard it
isa pain to list all columns even if you don't need them 

Best Regards

Michael Gould

Sent from Samsung mobile

Alexander Reichstadt <lxr@mac.com> wrote:

>Hi,
>
>the following statement worked on mysql but gives me an error on postgres:
>
>column "addresses.address1" must appear in the GROUP BY clause or be used in an aggregate function
>
>I guess I am doing something wrong. I read the web answers, but none of them seem to meet my needs:
>
>SELECT
companies.id,companies.name,companies.organizationkind,addresses.address1,addresses.address2,addresses.city,addresses.zip
FROMcompanies JOIN addresses_reference ON companies.id=addresses_reference.refid_companies LEFT JOIN addresses ON
addresses_reference.refid_addresses=addresses.idGROUP BY companies.id; 
>
>
>What I did now was create a view based on above statement but without grouping. This returns a list with non-distinct
valuesfor all companies that have more than one address, which is correct. But in some cases I only need one address
andthe problem is that I cannot use distinct. 
>
>I wanted to have some way to display a companies list that only gives me the first stored addresses related, and
disregardany further addresses. 
>
>Is there any way to do this?
>
>Thanks
>Alex

pgsql-general by date:

Previous
From: Michael Gould
Date:
Subject: Re: version controlling postgresql code
Next
From: Michael Gould
Date:
Subject: Re: what Linux to run