Итак, у меня есть несколько таблиц, и я хотел бы посмотреть, как я мог бы представить корреляцию одного из столбцов по сравнению с остальным как столбец в моей таблице.postgresql отображение корреляции в столбцах
Для примера, скажем, у меня есть 2 таблицы:
- ватин (ключ: команды, battingAverage, пробки и т.д.)
- Record (ключ: Команда выигрывает, потеря)
Если я нужна таблица, выход которого является
attribute | correlation
battingAverage | .025
slugging | .005
...
Как бы идти о достижении этой цели? Я знаю, что могу использовать функцию CORR, чтобы найти корреляцию между двумя столбцами, но я смущен тем, как я применяю ее ко всему столбцу, и как я могу отобразить этот столбец и его корреляцию в строке.
Прямо сейчас я пытаюсь использовать его в жестком коде (значения(),(), ...), но я получаю сообщение об ошибке, что мой подзапрос возвращает несколько строк при использовании в качестве выражения, но «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