gpt4 book ai didi

sql - 如何在 Excel 或 SQL 中将数据从宽格式传输到长格式?

转载 作者:行者123 更新时间:2023-12-02 23:34:26 25 4
gpt4 key购买 nike

我有如下所示的数据。知道如何在 Excel 或 SQL 中从宽格式转换为长格式。

ID       TOTAL    SCORE   PLAYER
34543 12342 456 45
45632 34521 241 33

输出:

ID        DATA_TYPE   VALUE
34543 TOTAL 12342
34543 SCORE 34521
34543 PLAYER 45
45632 TOTAL 34521
45632 SCORE 241
45632 PLAYER 33

最佳答案

我首选的取消透视方法是使用 apply:

select t.id, v.*
from t cross apply
(values ('TOTAL', total), ('SCORE', score), ('PLAYER', player)
) v(DATA_TYPE, VALUE);

除了相当简洁之外,这是对横向连接的一个很好的介绍。这是 SQL 中非常强大的构造,可用于许多其他目的(与 UNPIVOT 不同)。它还只扫描表一次,因此比 UNION ALL 更高效。

关于sql - 如何在 Excel 或 SQL 中将数据从宽格式传输到长格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50209372/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com