From: | "Jimmy Choi" <yhjchoi(at)gmail(dot)com> |
---|---|
To: | Rodrigo De León <rdeleonp(at)gmail(dot)com> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Unexpected behavior with CASE statement |
Date: | 2007-10-03 20:08:11 |
Message-ID: | 5770602b0710031308j528247ecs24e0ddc7643aa458@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
This will work for this particular example. But what if my case
statement is more complicated than that? Example:
select
metric_type,
case metric_type
when 0 then
sum (1 / val)
when 1 then
sum (val)
when 2 then
max (val)
when 3 then
min (val)
end as result
from metrics
group by metric_type
Thanks!
On 10/3/07, Rodrigo De León <rdeleonp(at)gmail(dot)com> wrote:
> On 10/3/07, Jimmy Choi <yhjchoi(at)gmail(dot)com> wrote:
> > I expect to get the following result set:
> >
> > metric_type | result
> > ------------+-------
> > 0 | 2
> > 1 | 3
>
> Try:
>
> SELECT metric_type
> , SUM(CASE metric_type
> WHEN 0
> THEN 1 / val
> WHEN 1
> THEN val
> END) AS RESULT
> FROM metrics
> GROUP BY metric_type
> ORDER BY metric_type
>
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2007-10-03 20:19:53 | Re: Unexpected behavior with CASE statement |
Previous Message | Rodrigo De León | 2007-10-03 19:56:53 | Re: Unexpected behavior with CASE statement |