You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Snowflake数据透视需求咨询:行转列及关联适配

Snowflake 列转行(逆透视)实现方案

针对你需要将多列排名转换为行记录的需求,Snowflake的UNPIVOT语法可以直接实现,以下是具体的SQL语句:

SELECT 
    company_name,
    company_id,
    rank_type,
    rank_value
FROM Company_rank
UNPIVOT (
    rank_value FOR rank_type IN (
        Public_rank AS 'Public_rank',
        Peer_rank AS 'Peer_rank',
        Online_rank AS 'Online_rank'
    )
) AS unpivoted_data;

代码说明:

  • UNPIVOT子句负责将指定的列(Public_rank、Peer_rank、Online_rank)转换为行记录
  • rank_value是转换后存储排名数值的字段名
  • rank_type是转换后存储排名类型的字段名,通过AS指定对应的类型名称
  • 执行后会为每个公司生成3条记录,每条记录对应一种排名类型

预期输出结果:

COMPANY_NAMECOMPANY_IDRANK_TYPERANK_VALUE
ABCCompany1Public_rank20
ABCCompany1Peer_rank35
ABCCompany1Online_rank15
BCDCompany2Public_rank25
BCDCompany2Peer_rank32
BCDCompany2Online_rank20
DEFCompany3Public_rank18
DEFCompany3Peer_rank20
DEFCompany3Online_rank25

这个结果结构可以直接和包含ranking_name、company_id的表进行关联。

内容的提问来源于stack exchange,提问作者Rumbaba

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 11:45:36