假设您有一个n列的表,例如
create table x
(id integer
x0 integer,
x1 integer,
x2 integer,
x3 integer,
.....
xn integer
primary key(id)
)
n可以是一个很大的数字,您也不知道这些列的名称。假设您有50行,例如
insert into x (74934,1, 9, 21, 5....16)
insert into x (58496,4, 2, 3, 19....52)
.....
insert into x (10475,48, 245, 8, 71....111)
有没有一种方法可以找到每一行的总和? 像1 + 9 + 21 + 5 + ... + 16 =第一行的总和
答案 0 :(得分:0)
with t(id, x1, x2, x3) as (values(1,1,2,3),(2,4,5,6))
select
id,
(select sum(value::numeric) from jsonb_each(to_jsonb(t)) where key like 'x%')
from t;