몇 가지 테이블이 있으며 나머지 열과 테이블의 상관 관계를 테이블의 열로 표시하는 방법을 알고 싶습니다.postgresql은 열의 상관 관계를 표시합니다.
- 타자 (키 : 팀, battingAverage 등, 장타율)
- 레코드 (키 : 팀이 승리 손실)
,의 내가 2 개 테이블이 있다고 가정 해 보자
I 출력 내가 이것을 달성에 대해 어떻게 갈 것이라고
attribute | correlation
battingAverage | .025
slugging | .005
...
있는 테이블을 원한다면? CORR 함수를 사용하여 두 열 사이의 상관 관계를 찾을 수 있지만 전체 열에 어떻게 적용하는지 혼란스럽고 열과 해당 상관 관계를 한 행에 표시하는 방법을 혼동합니다.
지금은 (values (),(), ...)을 사용하여 하드 코딩하려고 시도하고 있지만 표현식으로 사용될 때 하위 쿼리가 여러 행을 반환한다는 오류가 발생합니다. "SELECT"는 쿼리에서 한 번만 나타나며 어떤 식도 볼 수 없습니다. 당신이 열 당 행을 원하는 경우
여기 (내 프로젝트가 야구와는 아무 상관이없는,하지만 난 예 술이를 만든) 지금 내 모의 최대 쿼리의
SELECT attributes.attribute, (values
(CORR(Record.wins,Batting.BattingAverage)),
(CORR(Record.wins,Batting.slugging)),
(CORR(Record.wins,batting.OBP)),
(CORR(Record.wins,batting.HomeRuns)))
AS correlation
FROM Batting LEFT JOIN Record ON Batting.Team = Record.Team,(values
('Batting Average'),
('Slugging'),
('OBP'),
('Home Runs')) attributes(attribute)
GROUP BY attributes.attribute;
두 번째 코드 블록은 매우 직설적인데, 많은 특성이 없기 때문에 한 번에 각 행을 생성하는 것을 고려하지 않았습니다. 고맙습니다! – user3311613