programing

MariaDB - 기술 통계량에 대한 왜도 및 첨도 얻기

lastcode 2023. 7. 26. 22:08
반응형

MariaDB - 기술 통계량에 대한 왜도 및 첨도 얻기

저는 이 SQL 쿼리를 통해 왜도와 첨도를 얻으려고 합니다.

(기술 통계량의 경우)

기술 통계 SQL 쿼리입니다.

(기술통계에서 누락된 내용이 있으면 추가해주세요.)

SELECT 
  MainClass,
  COUNT(*) AS count_value,
  MIN(Amount) AS min_value,
  MAX(Amount) AS max_value,
  AVG(Amount) AS mean_value,
  PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY Amount) OVER () AS median_value,
  MAX(Amount) - MIN(Amount) AS range_value,
  STDDEV_POP(Amount) AS standard_deviation,
  VAR_POP(Amount) AS variance,
  PERCENTILE_CONT(0.25) WITHIN GROUP (ORDER BY Amount) OVER () AS percentile_25,
  PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY Amount) OVER () AS percentile_50,
  PERCENTILE_CONT(0.75) WITHIN GROUP (ORDER BY Amount) OVER () AS percentile_75,
  (SUM(POWER(Amount - AVG(Amount), 3)) / (COUNT(*) * POWER(STDDEV_POP(Amount), 3))) AS skewness,
  (SUM(POWER(Amount - AVG(Amount), 4)) / (COUNT(*) * POWER(STDDEV_POP(Amount), 4))) AS kurtosis
FROM 
  (SELECT *
   FROM Expenditure
   WHERE DATE_FORMAT(DATE_ADD(Created, INTERVAL 9 HOUR), '%Y-%m') = '2023-03'
     AND AccountEmail = 'example@meow.com') AS CurrentMonthExpenditure
GROUP BY 
  MainClass;

이 부품은 작동하지 않습니다.

  (SUM(POWER(Amount - AVG(Amount), 3)) / (COUNT(*) * POWER(STDDEV_POP(Amount), 3))) AS skewness,
  (SUM(POWER(Amount - AVG(Amount), 4)) / (COUNT(*) * POWER(STDDEV_POP(Amount), 4))) AS kurtosis

오류 메시지: "SQL Error [1111] [HY000]: (vmx=27) 잘못된 그룹 기능 사용(vmx=27) 잘못된 그룹 기능 사용(vmx=27) 잘못된 그룹 기능 사용"

이걸 어떻게 고칠 수 있을까요?

내 MariaDB 버전은 10.11.2-Maria입니다.DB

언급URL : https://stackoverflow.com/questions/75928959/mariadb-get-skewness-kurtosis-for-descriptive-statistics

반응형