sql >> Base de Datos >  >> RDS >> Mysql

Cómo SELECCIONAR en función del valor de otro SELECCIONAR

Puede calcular el total (y a partir de ahí el porcentaje deseado) utilizando una subconsulta en la cláusula FROM:

SELECT Name,
       SUM(Value) AS "SUM(VALUE)",
       SUM(Value) / totals.total AS "% of Total"
FROM   table1,
       (
           SELECT Name,
                  SUM(Value) AS total
           FROM   table1
           GROUP BY Name
       ) AS totals
WHERE  table1.Name = totals.Name
AND    Year BETWEEN 2000 AND 2001
GROUP BY Name;

Tenga en cuenta que la subconsulta no tiene la cláusula WHERE que filtra los años.