sql - PostgreSQL 将列转换为行?转置?

标签 sql postgresql pivot-table dynamic-sql crosstab

我有一个 PostgreSQL 函数(或表),它给我以下输出:

Sl.no    username    Designation    salary   etc..
 1        A           XYZ            10000    ...
 2        B           RTS            50000    ...
 3        C           QWE            20000    ...
 4        D           HGD            34343    ...

现在我想要如下输出:

Sl.no            1       2        3       4       ...
 Username        A       B        C       D       ...
 Designation     XYZ     RTS      QWE     HGD     ...
 Salary          10000   50000    20000   34343   ...

如何做到这一点?

最佳答案

SELECT
   unnest(array['Sl.no', 'username', 'Designation','salary']) AS "Columns",
   unnest(array[Sl.no, username, value3Count,salary]) AS "Values"
FROM view_name
ORDER BY "Columns"

引用:convertingColumnsToRows

关于sql - PostgreSQL 将列转换为行?转置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14084503/

相关文章:

sql - String_Split 多列

mysql - 计算数据库中的列数

python - Pandas :如何分组并计算给定列中的唯一性?

java - Postgres Interval 不适用于 native spring 数据 JPA 查询

ruby-on-rails-3 - 多次fork会不会影响性能?

vba - 循环遍历列表并将单元格复制到右侧

PHP MySQL 获取结果以及表的列名

mysql - SQL非英文字符插入错误

sql - 主 SQL View

postgresql - 扫描 Postgres 复合类型