我需要使用PHPMyAdmin将下面的公式转换为SQL,表“Asia”包含两个列-- SurfaceArea和Population。
皮尔逊相关系数公式
我得到了以下的查询,但我有错误,谁能让我知道是什么问题,请?
选择(SUM(SurfaceArea - AVG (SurfaceArea )) *(人口-AVG(人口))/ STD (SUM((SurfaceArea- AVG(SurfaceArea)) *(SurfaceArea-AVG(SurfaceArea)*(SUM(人口-AVG(人口))*(人口-AVG(人口))为correlation_coefficient_population;
非常感谢
发布于 2022-04-06 22:41:36
您的查询将无法工作,因为在5.7-ish版本中进行了更改,默认情况下,它将拒绝使用函数(sum、avg、max等)聚合的查询。在SELECT子句中,但未能将非聚合字段放入GROUP BY子句中。这种行为是所有其他关系型数据库管理系统的重要组成部分,MySQL终于加入进来了。
然而,还有另一种方法来获得皮尔逊系数。这里有更多关于这个的
请尝试以下查询:
SELECT (Avg(`Population` * `SurfaceArea`) - (Avg(`Population`) * Avg(`SurfaceArea`))) /
(STDDEV_POP(`Population`) * STD(`SurfaceArea`)) as PearsonCoefficient FROM `Asia`
https://stackoverflow.com/questions/67828694
复制相似问题