PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Postgres :sélectionnez la somme des valeurs, puis additionnez-la à nouveau

Essayez ceci :

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

MISE À JOUR Je suis désolé, je n'ai pas lu que vous vouliez tout dans la même requête. Pour cette raison, la réponse de greg c'est mieux. Cependant, autre possibilité si vous avez une version 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