group by range of values

From: Carol Cheung <cacheung(at)consumercontact(dot)com>
To: pgsql-sql(at)postgresql(dot)org
Subject: group by range of values
Date: 2007-07-27 19:05:16
Message-ID: 46AA41EC.8050101@consumercontact.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Hello,

Here's my table:

db=# select * from tester order by birth_year;
birth_year | salary
------------+--------
1946 | 78000
1949 | 61000
1951 | 58000
1953 | 56000
1958 | 52000
1962 | 50000
1965 | 45000
1967 | 60000
1968 | 57000
1970 | 47000
1972 | 32000
1973 | 42000
(12 rows)

How can I display the average salary grouped by decade of birth year?
That is, is it possible to display the average salary of those born in
the 1940's, the average salary of those born in the 1950's, average
salary of those born in the 1960's, and those born in the 1970's, all in
one result table?
Something like:

decade | average(salary)
-------+-----------------
1940 | 69500
1950 | 53333.33
1960 | 53000
1970 | 40333.33

Thanks in advance,
C

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Jon Sime 2007-07-27 19:25:46 Re: group by range of values
Previous Message Osvaldo Rosario Kussama 2007-07-27 15:47:25 Re: problem join