Как вычислить сумму нескольких столбцов в PostgreSQL

Я хотел бы знать, есть ли способ вычислить сумму нескольких столбцов в PostgreSQL.

У меня есть таблица с более чем 80 столбцами, и я должен написать запрос, который добавляет каждое значение из каждого столбца.

Я пробовал с SUM (col1, col2, col3 и т.д.), Но это не сработало.

Ответ 1

SELECT COALESCE(col1,0) + COALESCE(col2,0)
FROM yourtable

Ответ 2

Это зависит от того, как вы хотите суммировать значения. Если я правильно прочитал ваш вопрос, вы ищете второй SELECT из этого примера:

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=#