PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Postgres:selecione a soma dos valores e depois some novamente


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

ATUALIZAÇÃO Desculpe, não li que você quer tudo na mesma consulta. Por esse motivo a resposta de greg é melhor. No entanto, outra possibilidade se você tiver uma versão do 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