Re: devide and summarize sql result (all)

From: bricklen <bricklen(at)gmail(dot)com>
To: Janek Sendrowski <janek12(at)web(dot)de>
Cc: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: devide and summarize sql result (all)
Date: 2013-08-15 22:24:31
Message-ID: CAGrpgQ_B4kHZk4yfBQbG6q4Jn+-ksg9m0BTWpeV4FVqQ4sQ2bA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Thu, Aug 15, 2013 at 1:51 PM, Janek Sendrowski <janek12(at)web(dot)de> wrote:

> Hi,
>
> My sql query results sth. like this:
>
> user percentage
> franz 78%
> smith 98%
> franz 81%
> jason 79%
> smith 89%
> smith 85%
> smith 99%
>
> Now I'd like to summarize the percentages oder every user like this.
> smith
> 2 matches 95-100%
> 2 matches 85-95%
> 0 mathes 75-85%
>
> franz
> 0 mathes 95-100%
> ...
>

A CASE statement should work, if you are willing to hard-code the list of
expressions.

SELECT username,
sum(case when avg between 76 and 85 then 1 else 0 end) as "76 to
85",
sum(case when avg between 86 and 95 then 1 else 0 end) as "86 to
95",
sum(case when avg > 95 then 1 else 0 end) as ">95"
FROM yourtable
GROUP BY username

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Robert James 2013-08-15 22:39:57 Re: Escape string for LIKE op
Previous Message Vik Fearing 2013-08-15 21:49:32 Re: Escape string for LIKE op