Thread: 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.