使用PostgreSQL计算相关系数?

时间:2010-06-10 15:27:23

标签: postgresql calculated-columns correlation

如果两个字段都在同一个表中,我已经研究了如何计算两个字段之间的相关系数:

SELECT corr(column1, column2) FROM table WHERE <my filters>;

...但是当列来自不同的表时,我无法弄清楚如何做到这一点(我需要对两个表应用相同的过滤器)。

请提供任何提示?

2 个答案:

答案 0 :(得分:5)

如果这些表彼此相关以便您可以加入它们,那就非常简单了。只需加入它们并进行关联:

SELECT corr(t1.col1, t2.col2)
FROM table1 t1
     JOIN table2 t2
         ON t1.join_field = t2.join_field
WHERE
     <filters for t1>
     AND
     <filters for t2>

如果不是,那么您应该如何找出要在corr上运行的每个表中的哪些字段组合?

答案 1 :(得分:1)

试试这个

SELECT corr(t1.column1, t2.column2) 
FROM table1 t1
join table2 t2 on t1.SomeColumn = t2.SomeColumn 
WHERE t1.<my filters>
AND t2.<my filters>;
相关问题