Re: [GENERAL] Calcuate percentage.

Поиск
Список
Период
Сортировка
От Clark Evans
Тема Re: [GENERAL] Calcuate percentage.
Дата
Msg-id 36E5BFD7.7270108E@manhattanproject.com
обсуждение исходный текст
Ответ на Calcuate percentage.  (Sze Yuen Wong <swong_@yahoo.com>)
Ответы Re: [GENERAL] Calcuate percentage.  (Kaare Rasmussen <kar@webline.dk>)
Список pgsql-general
It's crude and not very efficient, but here is a solution:

CREATE TABLE temp ( var INT2 );
INSERT INTO temp VALUES (1);
etc.

CREATE FUNCTION temp_row_count() RETURNS FLOAT AS
'SELECT COUNT(*)::FLOAT AS result FROM temp'
LANGUAGE 'sql';

SELECT var, COUNT(*)::FLOAT / temp_row_count() AS pct
FROM temp GROUP BY var;

Hope this helps,

Clark

P.S.  In oracle, I'd use a sub-query:

SELECT var, COUNT(*) / total_count
  FROM temp,
       ( SELECT COUNT(*) AS total_count
           FROM temp
       )
GROUP BY var;




Sze Yuen Wong wrote:
>
> Hi,
>
>  I need to calcuate the percentage from my table:
>
> var1
> ------
> 1
> 1
> 1
> 2
> 2
> 3
>
> Desire result:
>
> var1 |  percentage
> ----------------------------
> 1      |    50%
> 2      |    33%
> 3      |    17%
>
> ===============================
>
> Any clue?
>
> Please help.
>
> Sze Wong
>
> _________________________________________________________
> DO YOU YAHOO!?
> Get your free @yahoo.com address at http://mail.yahoo.com

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

Предыдущее
От: Kaare Rasmussen
Дата:
Сообщение: Re: [GENERAL] Calcuate percentage.
Следующее
От: M Simms
Дата:
Сообщение: Database out of sync