Re: Advanced Query

Поиск
Список
Период
Сортировка
От Michael Fuhr
Тема Re: Advanced Query
Дата
Msg-id 20060602000051.GA12215@winnie.fuhr.org
обсуждение исходный текст
Ответ на Advanced Query  (<operationsengineer1@yahoo.com>)
Ответы Re: Advanced Query  (<operationsengineer1@yahoo.com>)
Список pgsql-sql
On Thu, Jun 01, 2006 at 04:09:21PM -0700, operationsengineer1@yahoo.com wrote:
> what i can't seem to do is to get both - a count of
> the total number of t_inspect_result.inspect_pass
> where the value is true and a total count, by unique
> t_inspect.id.

Are you looking for something like this?

SELECT 1.0 * sum(CASE WHEN inspect_pass THEN 1 ELSE 0 END) / count(*)
FROM ( SELECT DISTINCT ON (inspect_id) inspect_id, inspect_pass FROM t_inspect_result ORDER BY inspect_id, id
) AS s;

Multiply by 100.0 instead of 1.0 if you want percent.

If you have a cast from boolean to integer (built-in in 8.1, easily
created in earlier versions) then you could replace the CASE
expression with a cast (inspect_pass::integer).  Whether to use the
more explicit CASE or the more concise cast is a matter of style.

-- 
Michael Fuhr


В списке pgsql-sql по дате отправления:

Предыдущее
От: postgres@jal.org
Дата:
Сообщение: Re: Table design question
Следующее
От:
Дата:
Сообщение: Re: Advanced Query