【问题标题】:PHPMyAdmin - Pearson's Correlation CoefficientPHPMyAdmin - 皮尔逊相关系数
【发布时间】:2021-06-03 21:09:13
【问题描述】:

我需要使用 PHPMyAdmin 将以下公式转换为 SQL,用于包含两列 - SurfaceArea 和 Population 的表“Asia”。

[皮尔逊相关系数公式]

我收到了以下查询,但我收到了错误,请问有人可以告诉我其中有什么问题吗?

SELECT (SUM(SurfaceArea - AVG(SurfaceArea)) * (Population - AVG(Population)) / STD ((SUM((SurfaceArea - AVG(SurfaceArea)) * (SurfaceArea - AVG(SurfaceArea)))) * ( SUM((人口 - AVG(人口))*(人口 - AVG(人口)))) AS 相关系数_人口 来自亚洲;

非常感谢

【问题讨论】:

    标签: sql phpmyadmin pearson-correlation


    【解决方案1】:

    您的查询将不起作用,因为在 5.7-ish 版本中进行了更改,现在默认情况下,它会拒绝您在 SELECT 子句中使用函数(sum、avg、max 等)聚合的查询和未能将非聚合字段放在 GROUP BY 子句中。这种行为是所有其他 RDBMS 的重要组成部分,MySQL 终于加入其中。

    但是,还有另一种方法可以获得皮尔逊系数。 More on that here

    试试这个查询:

    SELECT (Avg(`Population` * `SurfaceArea`) - (Avg(`Population`) * Avg(`SurfaceArea`))) / 
    (STDDEV_POP(`Population`) * STD(`SurfaceArea`)) as PearsonCoefficient FROM `Asia`
    

    【讨论】:

      猜你喜欢
      • 2021-08-29
      • 2011-09-10
      • 2011-09-13
      • 2012-11-19
      • 2013-10-12
      • 1970-01-01
      • 2011-08-20
      • 1970-01-01
      • 2016-03-28
      相关资源
      最近更新 更多