sql转置表结构的方法是什么

avatar
作者
猴君
阅读量:0

在SQL中转置表结构通常可以通过使用PIVOT关键字来实现。下面是一个示例:

假设有一个原始表结构如下:

| id | name | score | |----|------|-------| | 1  | Alice| 80    | | 2  | Bob  | 75    | | 3  | Carol| 90    | 

可以使用以下SQL语句进行转置:

SELECT   name,   MAX(CASE WHEN id = 1 THEN score END) AS score_1,   MAX(CASE WHEN id = 2 THEN score END) AS score_2,   MAX(CASE WHEN id = 3 THEN score END) AS score_3 FROM original_table GROUP BY name; 

执行以上SQL语句后,结果会变成如下表结构:

| name | score_1 | score_2 | score_3 | |------|---------|---------|---------| | Alice| 80      | NULL    | NULL    | | Bob  | NULL    | 75      | NULL    | | Carol| NULL    | NULL    | 90      | 

这样就实现了表结构的转置。需要注意的是,在使用PIVOT进行转置时,需要提前知道需要转置的列的数量,以及使用MAX等聚合函数来处理转置后的列。

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!