Search Postgresql Archives

Re: Unexpected behavior with CASE statement

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxx> wrote:
> On 10/3/07, Jimmy Choi <yhjchoi@xxxxxxxxx> 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
>

---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

               http://archives.postgresql.org/


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux