PostgreSQL列转行

这里我来演示下在POSTGRESQL里面如何实现交叉表的展示,至于什么是交叉表,我就不多说了,度娘去哦。

原始表数据如下:

t_girl=# select * from score;  

 name  | subject | score   

-------+---------+-------  

 Lucy  | English |   100  

 Lucy  | Physics |    90  

 Lucy  | Math    |    85  

 Lily  | English |    95  

 Lily  | Physics |    81  

 Lily  | Math    |    84  

 David | English |   100  

 David | Physics |    86  

 David | Math    |    89  

 Simon | English |    90  

 Simon | Physics |    76  

 Simon | Math    |    79  

(12 rows)  

  

Time: 2.066 ms  

 

想要实现以下的结果:

  

 

name  | English | Physics | Math   

------+---------+---------+------  

Simon |      90 |      76 |   79  

Lucy  |     100 |      90 |   85  

Lily  |      95 |      81 |   84  

David |     100 |      86 |   89  

大致有以下几种方法:

你可能感兴趣的:(oracle,greenplum,PostgreSQL实战)