From: | Joel Burton <joel(at)joelburton(dot)com> |
---|---|
To: | Timothy J Hitchens <tim(at)hitcho(dot)com(dot)au> |
Cc: | <pgsql-sql(at)postgresql(dot)org> |
Subject: | Re: GROUPING |
Date: | 2001-10-14 15:34:20 |
Message-ID: | Pine.LNX.4.30.0110141131001.6917-100000@temp.joelburton.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
On Sat, 13 Oct 2001, Timothy J Hitchens wrote:
> It's been a while since I used postgresql but today I have converted one
> of my web apps but with one small problem. I goto do a group as
> designed and executed in mysql and I get told that this and this must be
> part of the aggreate etc I am puzzled and wonder if someone could bring
> me up to stratch with grouping in postgresql this is my current sql:
>
> SELECT * FROM telemetry WHERE beat > 12 GROUP BY buid;
>
> Result:
>
> Attribute telemetry.rpvuid must be GROUPed or used in an aggregate
> function
>
>
> Oh then if I include rpvuid I get you must include this field and on it
> goes.
Normally, GROUP BY is used to group up records to look at an aggregate.
For example, if you have this table of your friends:
CREATE TABLE friends (
friend TEXT,
country_code CHAR(2),
income FLOAT,
);
I could get a count of how many friends lived in each country by:
SELECT country_code, COUNT(*) FROM friends GROUP BY country_code;
Or I could get the average amount of money made by friends in each country
with:
SELECT country_code, avg(income) FROM friends GROUP BY country_code;
In other words, when you GROUP BY, you're looking for an aggregate
(a function that is applied to a group and returns a single value,
such as average, minimum, maximum, count, etc.)
Can you be more specific about what you're actually trying to accomplish?
From | Date | Subject | |
---|---|---|---|
Next Message | Josh Berkus | 2001-10-14 18:54:10 | Re: referencial conlumn contraints and inheritance |
Previous Message | Stuart | 2001-10-14 11:28:31 | referencial conlumn contraints and inheritance |