Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 计算最高小时费率?_Php_Mysql - Fatal编程技术网

Php 计算最高小时费率?

Php 计算最高小时费率?,php,mysql,Php,Mysql,我有一个mysql表,其中包含日期和每隔几分钟记录一次的值 # date, turnover '2013-09-06 08:45:15', '2.00' '2013-09-06 08:48:15', '38.00' '2013-09-06 08:51:15', '60.00' '2013-09-06 08:54:15', '9.00' '2013-09-06 08:57:15', '37.00' 我可以运行一个简单的mysql查询来查找每小时的最大周转率吗 我最初想计算出每小时的数值,然后得到

我有一个mysql表,其中包含日期和每隔几分钟记录一次的值

# date, turnover
'2013-09-06 08:45:15', '2.00'
'2013-09-06 08:48:15', '38.00'
'2013-09-06 08:51:15', '60.00'
'2013-09-06 08:54:15', '9.00'
'2013-09-06 08:57:15', '37.00'
我可以运行一个简单的mysql查询来查找每小时的最大周转率吗

我最初想计算出每小时的数值,然后得到最大值,但后来我突然想到,从下午1-2点、下午2-3点、下午3-4点这样做可能不准确

我需要计算每个值的速率,所以如果第一个条目是00:05,那么我需要得到从00:05到01:05的平均值,如果下一个读数是00:03,那么从00:03到01:03-对每个值进行所有这些并进行比较


在mysql/php中有没有一种简单的方法可以做到这一点?

假设这是表结构:

mysql> desc turnover;
+-------+---------------+------+-----+---------+-------+
| Field | Type          | Null | Key | Default | Extra |
+-------+---------------+------+-----+---------+-------+
| dts   | datetime      | YES  |     | NULL    |       |
| fee   | decimal(12,2) | YES  |     | NULL    |       |
+-------+---------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
我试着这样做:

SELECT date(dts), hour(dts), sum(fee) AS total
FROM turnover 
GROUP BY date(dts), hour(dts) 
ORDER BY total DESC
LIMIT 1;

我认为你应该呆在下午1-2点、2-3点、3-4点等等。其他任何事情都要复杂得多,并且不会大幅提高准确性(很可能根本不会提高准确性)。好主意-这会让事情变得简单得多。谢谢-这似乎是可行的。只需检查数据:)