Re: Unexpected behavior with CASE statement

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
>

In response to

Responses

Browse pgsql-general by date

  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