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

Hvordan man vælger baseret på værdien af ​​en anden SELECT

Du kan beregne totalen (og ud fra det den ønskede procentdel) ved at bruge en underforespørgsel i FROM-sætningen:

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;

Bemærk, at underforespørgslen ikke har WHERE-sætningen, der filtrerer årene.



  1. Ændring af en SQL-kolonnetitel via forespørgsel

  2. Gå i dvale ved at forbinde to tabeller og hente alle poster?

  3. PHP PDO dynamisk opdateringsforespørgsel til MYSQL

  4. SQL UNION-klausul for begyndere