PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Postgres:seleziona la somma dei valori e poi sommala di nuovo

Prova questo:

SELECT sum(a.total)
FROM (SELECT sum(size) as total
      FROM mytable group by name) a

AGGIORNAMENTO Mi dispiace, non ho letto che vuoi tutto nella stessa query. Per questo la risposta di greg è meglio. Tuttavia, altra possibilità se hai una versione postgresql>=9:

WITH mytableWith (name, sum) as
     (SELECT name, sum(size)
      FROM mytable
      GROUP BY name)
SELECT 'grand total' AS name, 
       sum(sum) AS sum
FROM mytableWith
UNION ALL
SELECT name, sum
FROM mytableWith