Trying to get query to work.

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:10:26
Message-ID: 5.1.0.14.2.20020419160940.03e8ae50@mail.nacs.net
Views: Raw Message | Whole Thread | 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%

Brian Kosick
Web Programmer
New Age Consulting Service, Inc.
216-619-2000
briank(at)nacs(dot)net

Browse pgsql-sql by date

  From Date Subject
Next Message tulasi 2002-04-20 07:01:37 accept AD35- 6FA9 -9515
Previous Message Brian Kosick 2002-04-19 20:07:33 Trying to get query to work