Обсуждение: Fwd: Re: sum(bool)?
El Viernes 23 Febrero 2001 16:22, escribiste: > hi there, > > i want to add up the "true" values of a comparison like > > sum(a>b) > > it just doesn't work like this > > any workaround? > > it is postgresql 7.0 under linux > > thanks > > olaf I did exactly the same thing two months ago .... I created this tiny function: CREATE FUNCTION bool2int(bool) RETURNS integerAS 'select (case when $1=true then 1 else 0 end)'LANGUAGE 'sql'; You can do: sum(bool2int(a>b)) easy ??? ;-)) -- Fernando Moyano Frase del día: -------------- El medico me prohibio beber wiski, ahora lo congelo y me lo como! (*) SymeX ==> http://symex.lantik.com (*) WDBIL ==> http://wdbil.sourceforge.net (*) Informate sobre LINUX en http://www.linux.org
Thus spake J.Fernando Moyano
> El Viernes 23 Febrero 2001 16:22, escribiste:
> > i want to add up the "true" values of a comparison like
> >
> > sum(a>b)
> >
> > it just doesn't work like this
> >
> > any workaround?
>
> I did exactly the same thing two months ago ....
>
> I created this tiny function:
>
> CREATE FUNCTION bool2int(bool) RETURNS integer
> AS 'select (case when $1=true then 1 else 0 end)'
> LANGUAGE 'sql';
>
>
> You can do: sum(bool2int(a>b))
>
> easy ??? ;-))
Almost as easy as "SELECT COUNT(*) FROM table WHERE a > b"
--
D'Arcy J.M. Cain <darcy@{druid|vex}.net> | Democracy is three wolves
http://www.druid.net/darcy/ | and a sheep voting on
+1 416 425 1212 (DoD#0082) (eNTP) | what's for dinner.