| From: | Brian Kosick <briank(at)nacs(dot)net> |
|---|---|
| To: | pgsql-sql(at)postgresql(dot)org |
| Subject: | Trying to get query to work |
| Date: | 2002-04-19 20:07:33 |
| Message-ID: | 3CC07905.70701@nacs.net |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-sql |
Hello All,
I apologize if I'm posting to the wrong place, if I should be
posting somewhere else, I would appreciate it if someone would let me
know, and accept my advance apologies. I have a table that looks like this:
id | model | make | color | count
-------------------------------------------------
1 | Toyota | Corolla | Blue | 3
2 | Toyota | Corolla | Red | 2
3 | Dodge | Avenger | Black | 1
4 | Dodge | Avenger | Red | 5
6 | Chrysler | Sebring | Beige | 8
I need to create a SQL statement that will give me results that look
like this:
model | make | color | count | total |
percentage
------------------------------------------------------------
Toyota | Corolla | Blue | 3 | 5 | 60%
Toyota | Corolla | Red | 2 | 5 | 40%
Dodge | Avenger | Black | 1 | 6 | 17%
Dodge | Avenger | Red | 5 | 6 | 83%
Chrysler | Sebring | Beige | 8 | 8 | 100%
This is the closest that I've come so far:
SELECT model, make, color, SUM(count) AS total, ((count/SUM(count))*100)
AS percentage FROM autos GROUP BY model, make, color, count;
However this produces a table that looks like this:
model | make | color | count | total |
percentage
------------------------------------------------------------
Toyota | Corolla | Blue | 3 | 3 | 100%
Toyota | Corolla | Red | 2 | 2 | 100%
Dodge | Avenger | Black | 1 | 1 | 100%
Dodge | Avenger | Red | 5 | 5 | 100%
Chrysler | Sebring | Beige | 8 | 8 | 100%
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Brian Kosick | 2002-04-19 20:10:26 | Trying to get query to work. |
| Previous Message | Matthew Hagerty | 2002-04-19 19:24:48 | Query Praise! |