如何将行显示为列?

Posted

技术标签:

【中文标题】如何将行显示为列?【英文标题】:How to display rows as columns? 【发布时间】:2015-09-23 09:13:25 【问题描述】:

我有如下数据

Column1 Column2    Column3
F1           D1         S1
F2           D2         S2

我希望它显示为:

F1            F2
D1            D2
S1            S2

谢谢

【问题讨论】:

Stack Overflow 不是免费的代码编写服务。 转置,打印。完成! 【参考方案1】:

查看数据透视表,例如:

WITH pvt AS (
  SELECT *
  FROM (
    SELECT col1
           ,col2
           ,col3
    FROM table
  ) AS pvt_select
  PIVOT (
    min(col1)
    FOR col2 IN (
      valueInCell
      ,anotherValueInCell
      ,andSoOn
    )
  ) AS pvt_columns

SELECT * FROM pvt

也请查看有关此主题的文档。 https://technet.microsoft.com/en-us/library/ms177410(v=sql.105).aspx

由于垂直设计的表格,我经常使用数据透视表。 (pk, fk, property, value)-like 表。根据您的需求,您还可以选择 max()avg() 作为 PIVOT 运算符。

【讨论】:

以上是关于如何将行显示为列?的主要内容,如果未能解决你的问题,请参考以下文章

MySQL - 将行显示为列(尽可能简单)

使用 pivot 和 in 子句将行转换为列

将行数据拆分为列

SQL Server - Pivot 将行转换为列(带有额外的行数据)

如何根据日期列将行转换为列?

如何使用 Postgresql 将行转换为列?