我有一张超过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);
关于sql - 通过转置减少列数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57309626/