Обсуждение: One query for two information...

Поиск
Список
Период
Сортировка

One query for two information...

От
"Ed"
Дата:
Hi,

I have a table containing only a bool filed.  I would like to know how many
records there is an on many ar true.

Is there something I could do to get both answer in only one query...   like
:

select count(*), sum(bool_col) from tablename

but there is no sum(bool) function that would add 1 if it's true and 0 if
it's false... ;(

Any idea?

Frédéric Boucher
dziablo@lords.com




Re: One query for two information...

От
"Moray McConnachie"
Дата:
create function boolint (bool) RETURNS int4 AS
'SELECT CASE WHEN $1=''false'' THEN 0 ELSE 1 END;'
LANGUAGE 'sql';
SELECT SUM(boolint(fieldname)) FROM tablename;

note double single quote in 2nd line.
Yours,
Moray
----------------------------------------------------------------
Moray.McConnachie@computing-services.oxford.ac.uk
----- Original Message -----
From: "Ed" <dziablo@lords.com>
To: "pgsql sql" <pgsql-sql@postgresql.org>
Sent: Tuesday, April 18, 2000 3:26 PM
Subject: [SQL] One query for two information...


Hi,

I have a table containing only a bool filed.  I would like to know how many
records there is an on many ar true.

Is there something I could do to get both answer in only one query...   like
:

select count(*), sum(bool_col) from tablename

but there is no sum(bool) function that would add 1 if it's true and 0 if
it's false... ;(

Any idea?

Frédéric Boucher
dziablo@lords.com