how to use aggregate functions in this case - Mailing list pgsql-general

From Janek Sendrowski
Subject how to use aggregate functions in this case
Date
Msg-id trinity-787472a4-53b7-4fff-9d01-69a266e6aa61-1377467943440@3capp-webde-bs31
Whole thread Raw
Responses Re: how to use aggregate functions in this case  (David Johnston <polobo@yahoo.com>)
Re: how to use aggregate functions in this case  (BladeOfLight16 <bladeoflight16@gmail.com>)
List pgsql-general
Hi,

Thats my code snipped:
 
SELECT  v_rec1.user,
        sum(CASE WHEN v_rec_fts.lev BETWEEN 0 AND 25 THEN 1 ELSE 0 END) as "0 to 25",
        sum(CASE WHEN v_rec_fts.lev BETWEEN 25 AND 50 THEN 1 ELSE 0 END) as "25 to 50",
        sum(CASE WHEN v_rec_fts.lev BETWEEN 50 AND 100 THEN 1 ELSE 0 END) as "50 to 100"
        INTO v_rec2
        GROUP BY user;

Now I want to summuarize the "0 to 25" values and the others in the same query.
Somehow like this: count("0 to 25")
But I want to do it with every single user and I don't know how to do that

A result should look like this:

user      percentage    count
smith     "0 to 25"     5
smith     "25 to 50"    7
smith     "50 to 75"    2
jones     "0 to 25"     11
jones     "25 to 50"    1
jones     "50 to 75"    3

Hope someone who can help me

Janek Sendrowski


pgsql-general by date:

Previous
From: Adrian Klaver
Date:
Subject: Re: batch insertion
Next
From: David Johnston
Date:
Subject: Re: how to use aggregate functions in this case