sql

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

小亿
146
2024-06-11 10:58:36
栏目: 云计算

在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等聚合函数来处理转置后的列。

0
看了该问题的人还看了