Php 获取创建时每小时的最小值、最大值和平均值

Php 获取创建时每小时的最小值、最大值和平均值,php,datetime,Php,Datetime,我有一个表,其中创建了一个字段,其值如下: 2017-06-06 13:04:50 2017-06-06 13:09:54 2017-06-06 13:20:20 2017-06-06 13:40:29 2017-06-06 14:05:30 2017-06-06 14:12:50 2017-06-06 14:30:40 2017-06-06 15:01:36 2017-06-06 15:06:16 我想要的是创建一个新表并执行以下操作: 我想得到每小时的最小值、最大值和平均值,并将其保存到另

我有一个表,其中创建了一个字段,其值如下:

2017-06-06 13:04:50
2017-06-06 13:09:54
2017-06-06 13:20:20
2017-06-06 13:40:29
2017-06-06 14:05:30
2017-06-06 14:12:50
2017-06-06 14:30:40
2017-06-06 15:01:36
2017-06-06 15:06:16
我想要的是创建一个新表并执行以下操作:
我想得到每小时的最小值、最大值和平均值,并将其保存到另一个表中。

这是一个开始。
我使用
Y-m-d H
值创建新的日期值。
由于我删除了分和秒,同一小时内的所有时间都将重复

I使用数组计数值对重复值进行计数

上述代码的输出为:

数组(9){
[0]=>
字符串(13)“2017-06-06 13”
[1] =>
字符串(13)“2017-06-06 13”
[2] =>
字符串(13)“2017-06-06 13”
[3] =>
字符串(13)“2017-06-06 13”
[4] =>
字符串(13)“2017-06-06 14”
[5] =>
字符串(13)“2017-06-06 14”
[6] =>
字符串(13)“2017-06-06 14”
[7] =>
字符串(13)“2017-06-06 15”
[8] =>
字符串(13)“2017-06-06 15”
}
数组(3){
[“2017-06-06 13”]=>
int(4)
[“2017-06-06 14”]=>
int(3)
[“2017-06-06 15”]=>
int(2)
}

阅读David的答案似乎不清楚“每小时”是什么意思。
David将其解读为一小时滚动时间。

我把它读成13-14岁,14-15岁等等

IMO整数比datetime更容易操作。步骤1:将值转换为时间戳。然后是一个数学运算的问题,比如

  • 最小值:
  • 最大值:
  • 平均值:全部相加,除以计数
获得这三个值后,使用PDO将数据插入表中


(注意:不要使用mysql数据库扩展!)

至少,您应该尝试自己编写代码。之后,如果你有问题,你可以张贴你已经尝试了一个明确的解释什么是不工作,并提供一个解决方案。我建议你读一个好的问题和答案。另外,请确保使用和读取。Convert all Dates to UNIX_TIME()将时间戳相加,并将结果除以日期数。然后把结果转换成可读的格式。问题是,我不知道该去哪里start@Nubcake所以这些答案都没有任何帮助?也许你可以编辑你的问题,这样我们可以更好地帮助你?
$arr = array("2017-06-06 13:04:50",
"2017-06-06 13:09:54",
"2017-06-06 13:20:20",
"2017-06-06 13:40:29",
"2017-06-06 14:05:30",
"2017-06-06 14:12:50",
"2017-06-06 14:30:40",
"2017-06-06 15:01:36",
"2017-06-06 15:06:16");

Foreach($arr as $val){
    $newarr[] = date("Y-m-d H", strtotime($val));
}

Var_dump($newarr);

Var_dump(array_count_values($newarr));