Mysql
 sql >> Database >  >> RDS >> Mysql

Come SELECT in base al valore di un altro SELECT

Puoi calcolare il totale (e da quello la percentuale desiderata) utilizzando una sottoquery nella clausola 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;

Nota che la sottoquery non ha la clausola WHERE che filtra gli anni.