我想找出多列而不是行的平均值。目前,我转置了表,但这影响了性能,因为我的表非常大,通过转置30列,行数增加了* 29倍。
colum1 measure1 measure2 measure3平均abc 100 200 300 200定义50 60 70 60
我不打算平均一次使用所有30列,这取决于我在前端的参数。
我想知道除了转置之外,是否还有其他解决方案来达到预期的结果。在Redshift中,我对表进行了29次联合操作,将列转置为行。
您的建议将不胜感激。
谢谢,mc
发布于 2016-09-06 19:46:17
尝试这样的操作(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
1500https://stackoverflow.com/questions/39348180
复制相似问题