2016-09-06 173 views
0

我想查找多列而不是行的平均值。 目前,我調換了桌子,但是由於桌子非常大,所以影響了桌子的性能,通過移動30列,行數增加了29倍。平均多列

colum1措施1 measure2 measure3平均 ABC 100 200 300 200 高清50 60 70 60

我不打算在時間平均使用全部30列,它在前端取決於我的參數。

我想知道是否有任何其他解決方案來實現轉置以外的所需結果。 在Redshift中,我做了29次表的聯合以將列轉置爲行。

您的建議將不勝感激。

感謝, MC

回答

2

嘗試是這樣的(Oracle查詢):

WITH input_data AS (
    SELECT 100 AS measure1, 200 AS measure2 FROM DUAL 
    UNION ALL 
    SELECT 1000 AS measure1, 2000 AS measure2 FROM DUAL 
) 
SELECT (a.measure1 + a.measure2)/2 AS measure_avg FROM input_data a 

輸出:

MEASURE_AVG 
150 
1500 
+0

的Postgres還沒有系統表DUAL –

+0

@ Abihabi87的SELECT語句是部分這很重要。 – dood

+0

但在postgres中,只能使用'SELECT 100 AS measure1,200 AS measure2'而不使用'FROM DUAL'。默認表DUAL不存在於postgres中。 –