首页 文章

使用PostgreSQL计算相关系数?

提问于
浏览
3

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

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

...但是当列来自不同的表时,我无法解决该怎么做(我需要对两个表应用相同的过滤器) .

有什么提示吗?

2 回答

  • 1

    如果表彼此相关以便您可以加入它们,那就相当简单了 . 只需加入他们并进行相关:

    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

  • 5

    试试这个

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

相关问题