使用PostgreSQL计算相关系数?

Dav*_*ave 3 postgresql calculated-columns correlation

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

SELECT corr(column1, column2) FROM table WHERE <my filters>;
Run Code Online (Sandbox Code Playgroud)

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

有什么提示吗?

Dan*_*olo 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>
Run Code Online (Sandbox Code Playgroud)

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