Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie man basierend auf dem Wert eines anderen SELECT auswählt

Sie können die Summe (und daraus den gewünschten Prozentsatz) berechnen, indem Sie eine Unterabfrage in der FROM-Klausel verwenden:

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;

Beachten Sie, dass die Unterabfrage nicht über die WHERE-Klausel verfügt, die die Jahre filtert.