57

PostgreSQL で複数の列の合計を計算する方法があるかどうか知りたいです。

80 列を超えるテーブルがあり、各列の各値を追加するクエリを作成する必要があります。

SUM(col1、col2、col3 など) で試してみましたが、うまくいきませんでした。

4

3 に答える 3

95
SELECT COALESCE(col1,0) + COALESCE(col2,0)
FROM yourtable
于 2013-03-30T14:31:55.977 に答える
70

値を合計する方法によって異なります。あなたの質問を正しく読めば、この例の 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=# 
于 2013-03-30T14:41:29.273 に答える