Re: Cálculo de porciento SOLUCIONADO

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Michel Vega Fuenzalida <michelvf(at)infomed(dot)sld(dot)cu>
Cc: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Cálculo de porciento SOLUCIONADO
Date: 2011-08-30 20:26:32
Message-ID: 1314735881-sup-2140@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Excerpts from Michel Vega Fuenzalida's message of mar ago 30 16:09:49 -0300 2011:
> Soy nuevo en SQL y esta fue la solución que encontré para calcular
> porciento de los datos mostrados

Hay un error conceptual aquí, que es que estás usando un literal
'tabla1.campo1' para contar en vez del valor del campo. Quita las
comillas. En caso de que haya valores nulos, el resultado será
distinto AFAIR.

Lo otro es que esto se puede hacer en forma un poco más sensata (sin
poner un subselect en el from) con una función de ventana deslizante.

> SELECT
> count('tabla1.campo1') AS contar,
> tabla2.campo2,
> Round(Count('contar')*100/total::numeric, 2) AS "%"
> FROM
> esquema.tabla1 INNER JOIN esquema.tabla2 ON (tabla1.campo1 = tabla2.campo1),
> (SELECT Count('contar') AS total FROM esequema.tabla1 WHERE campo3 = 3 AS x
> WHERE
> campo3 = 3
> GROUP BY
> tabla1.campo2
> total
> ORDER BY
> tabla1.campo2

--
Álvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2011-08-30 20:31:48 Re: Problema uso de indices...
Previous Message Lazaro Rubén García Martinez 2011-08-30 20:06:48 RE: doble INNER JOIN