Comment calculer la somme de plusieurs colonnes dans PostgreSQL

je voudrais savoir si il existe un moyen de calculer la somme de plusieurs colonnes dans PostgreSQL.

j'ai une table avec plus de 80 colonnes et je dois écrire une requête qui ajoute chaque valeur de chaque colonne.

j'ai essayé avec SUM (col1, col2, col3 etc) mais ça n'a pas marché.

21
demandé sur Psyche 2013-03-30 18:22:23

2 réponses

SELECT COALESCE(col1,0) + COALESCE(col2,0)
FROM yourtable
38
répondu qqx 2013-03-30 19:16:33

cela dépend de la façon dont vous voulez additionner les valeurs. Si j'ai bien lu votre question, vous êtes à la recherche de la deuxième sélection de cet exemple:

template1=# SELECT * FROM yourtable ;
 a | b 
---+---
 1 | 2
 4 | 5
(2 rows)

template1=# SELECT a + b FROM yourtable ;
 ?column? 
----------
        3
        9
(2 rows)

template1=# SELECT SUM( a ), SUM( b ) FROM yourtable ;
 sum | sum 
-----+-----
   5 |   7
(1 row)

template1=# SELECT SUM( a + b ) FROM yourtable ;
 sum 
-----
  12
(1 row)

template1=# 
34
répondu Daniel Frey 2013-03-30 14:41:29