sql >> Database >  >> RDS >> Mysql

Hoe te SELECTEREN op basis van de waarde van een andere SELECT

U kunt het totaal (en daaruit het gewenste percentage) berekenen door een subquery te gebruiken in de FROM-clausule:

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;

Merk op dat de subquery niet de WHERE-clausule heeft die de jaren filtert.



  1. SQL ALS SELECT-query null is, doe dan nog een query

  2. MySQL-fout bij het invoegen van gegevens met apostrofs (enkele aanhalingstekens)?

  3. MySQL DATETIME - Wijzig alleen de datum

  4. Hoe te voorkomen dat de eerste rij in de tabel wordt verwijderd (PostgreSQL)?