我有一个小问题。我有一个数据集,其中包含气象站测得的值,我想使用MySQL数据库和PHP进行进一步分析。
基本上,数据库的第一列包含日期,其他列包含温度,湿度,压力等。
现在的问题是,对于平均值,st.dev。,max,min等的计算非常简单。但是没有我需要的其他参数的内置命令,例如峰度等。
我需要的是例如计算各个月,然后是天等的偏度,均值,标准偏差等。
使用内置函数很容易,例如,查找各个月份的一些参数将是:
SELECT AVG(Temp), STD(Temp), MAX(Temp)
FROM database
GROUP BY YEAR(Date), MONTH(Date)
显然,我不能将其用于更高级的参数。我考虑了实现此目标的方法,只能想到一个解决方案。我手动编写了一个函数,该函数处理值并使用特定公式计算峰度之类的东西。但是,这意味着我需要根据当前计算的内容为每个月,日等创建数据数组。因此,例如,我首先需要获取数据并将其拆分为数组,比如说Jan11,Feb11,Mar11 ......,每个数组将包含该月的数据。然后,我将函数应用于这些数组并使用结果创建新变量(比如说kurtosis_jan11,kurtosis_feb11等)。
现在我的问题。我需要数据拆分方面的帮助。问题是我不预先知道数据的开始日期和结束日期,因此无法为此设置固定变量。该程序首先必须检查第一个月,然后为每个月,日等创建新数组,直到达到最后一条记录。并为每个创建数组。
当然,这也许是一个解决方案,但是如果有人对如何解决此问题有其他想法,我将非常感谢您的帮助。
最佳答案
您可以执行更复杂的查询来实现此目的。以下是一些示例http://users.drew.edu/skass/sql/,包括Skew