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.
|
Список | 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 по дате отправления: