2010-06-10 49 views
3

我已经摸索出如何计算两个领域之间的相关系数,如果两者在同一个表:使用PostgreSQL计算相关系数?

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

...但我不能工作了如何做到这一点时,列从不同表(我需要应用相同的过滤器到两个表)。

有什么提示吗?

回答

4

如果这些表格彼此相关以便您可以加入它们,那就相当简单了。只要加入他们的行列,并做相关性:

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每个表中的字段哪种组合?

0

试试这个

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>;