通过转置减少列数
Reducing number of columns by transposing
我有一个 table,它有超过 60 列。我想减少列数,已经有了想法
所以列看起来像这样:
A_yes A_no B_yes B_no C_yes C_no
1 4 3 5 9 2
我想得到的是这个
Category yes no
A 1 4
B 3 5
C 9 2
当然这是非常简单的,但是我会用我为此使用的模式扩展这个解决方案。
我正在使用 PostgreSQL。
提前致谢!
您可以使用横向连接:
select v.*
from t cross join lateral
(values ('A', A_yes, A_no),
('B', B_yes, B_no),
('C', C_yes, C_no)
) v(category, yes, no);
我有一个 table,它有超过 60 列。我想减少列数,已经有了想法
所以列看起来像这样:
A_yes A_no B_yes B_no C_yes C_no
1 4 3 5 9 2
我想得到的是这个
Category yes no
A 1 4
B 3 5
C 9 2
当然这是非常简单的,但是我会用我为此使用的模式扩展这个解决方案。 我正在使用 PostgreSQL。
提前致谢!
您可以使用横向连接:
select v.*
from t cross join lateral
(values ('A', A_yes, A_no),
('B', B_yes, B_no),
('C', C_yes, C_no)
) v(category, yes, no);