如何在postgresql中透视单行摘要

时间:2015-06-24 07:35:22

标签: sql postgresql pivot crosstab

SQLFiddle:http://sqlfiddle.com/#!15/e8e49/2/0

我想从我的表中获取一些摘要数据到行而不是列..

select 
  sum(n),
  avg(n),
  max(n),
  min(n)
from Table1

这将返回单行,多列结果。

我怎样才能得到类似这样的结果:

Label | Res
-------------
min   | 2
max   | 3
count | 30
... etc ...

1 个答案:

答案 0 :(得分:1)

Postgres没有枢轴转换...

    select 
      'sum' as "key",sum(n) as "value" from Table1
    union all
   select   'avg', avg(n) from Table1
    union all
      select   'max', max(n) from Table1
    union all
      select   'min', min(n) from Table1

如果您有超级用户,可以尝试CREATE EXTENSION tablefunc