[solvesql - day 18] lv4 펭귄 날개와 몸무게의 상관 계수

데프·2024년 12월 24일
post-thumbnail

👉 문제 바로가기 : solvesql - Advent of SQL 2024 DAY 18
저작권 문제로 링크만 첨부한다.

✔️문제 풀이에 필요한 점

수학연산을 sql함수를 이용하여 구현할 수 있어야 한다.

문법을 준수하면서 수학공식의 구조를 갖추게 하는 기본기 문제.


✍️답안

WITH variables AS (
  SELECT
    species
    , flipper_length_mm "x"
    , avg(flipper_length_mm) OVER(PARTITION BY species) "xbar"
    , body_mass_g "y"
    , avg(body_mass_g) OVER(PARTITION BY species) "ybar"
  FROM
    penguins
)
SELECT
  species
  , round(
    sum((x-xbar) * (y-ybar))
    / 
    (
      sqrt(sum(pow(x-xbar, 2)))
      * 
      sqrt(sum(pow(y-ybar, 2)))
    )
    , 3
  ) "corr"
FROM
  variables
GROUP BY
  species
;

답안 설명

  1. 임시테이블에 공식을 위해 필요한 변수들을 선언해놓는다.
  2. sqrt(), pow() 함수를 사용하여 공식을 구현하고 반올림한다.
profile
정보의 홍수를 기록하는 데프의 로그

0개의 댓글