날개 길이와 몸무게의 피어슨 상관 계수(Pearson Correlation Coefficient)를 구하는 쿼리를 작성해주세요.
다만, 펭귄 종에 따라 상관 관계의 정도가 다름
쿼리 결과에는 아래 컬럼이 포함되어 있어야 하고, 상관 계수는 소수점 아래 넷째 자리에서 반올림 해 셋째 자리까지 출력
species: 펭귄 종
corr: 날개 길이와 몸무게의 상관 계수
with cte_1 as (select species,avg(flipper_length_mm) as avg_length, avg(body_mass_g) as avg_mass
from penguins
where flipper_length_mm is not null and body_mass_g is not null
group by species
),
cte_2 as (select p.species, flipper_length_mm, avg_length,body_mass_g,avg_mass
from penguins p join cte_1 c on p.species = c.species
where flipper_length_mm is not null and body_mass_g is not null)
-- 종별로 상관계수 다르게 진행
select
species,round(sum((flipper_length_mm - avg_length)*(body_mass_g - avg_mass))/ sqrt(sum(power((flipper_length_mm - avg_length),2) )* sum(power((body_mass_g - avg_mass),2)) ),3) as corr
FROM
cte_2
group by species;

1.종별로 상관계수를 구해야한다.
2.길이나 몸무게에 결측값 있으므로 제거하여 평균값 구하고, 상관계수 구할 때도 마찬가지로 결측값 제거한채로 진행하기
3.상관계수 공식
- sqlite는 corr 적용이 안되는 관계로, power(), sqrt()함수를 사용해서 각 값 곱들의 합계를 구해야함
이때 species 기준으로 나눠야함 group by species 필수