如何在PostgreSQL中创建一个交叉显示描述性统计信息?

时间:2016-06-17 15:34:24

标签: postgresql crosstab

我有一张包含年份和价值数据的表格。我想创建一个全年作为列标题的交叉表,并计算行中的描述性统计数据。

例如,我想分别计算2005,2006和2007年的平均值和中值,并将它们放在下表格式中。

                    2005    2006    2007
Median   
Mean      

要计算2005年的中位数和平均值,代码为:

SELECT avg(vallue),percentile_cont(0.5) WITHIN GROUP (ORDER BY value)  
FROM tablename WHERE year=2005;

但我不知道如何把它变成一张桌子

1 个答案:

答案 0 :(得分:0)

postgres中的

“crosstab”是扩展名for pivot tables

对于中位数,我使用this aggregate function并且它非常有效(快速且精确)