Question

J'ai travaillé sur la façon de calculer le coefficient de corrélation entre les deux champs si les deux sont dans la même table:

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

... mais je ne peux pas travailler sur la façon de le faire lorsque les colonnes sont de différentes tables (je dois appliquer les mêmes filtres aux deux tables).

Les conseils, s'il vous plaît?

Était-ce utile?

La solution

Si les tableaux sont liés les uns aux autres de telle sorte que vous pouvez les rejoindre, il est assez simple. Il suffit de se joindre à eux et faire la corrélation:

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>

S'ils ne sont pas, alors comment êtes-vous censé savoir quelle combinaison de champs de chaque table que vous voulez exécuter sur corr?

Autres conseils

essayer cette

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>;
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top