2014-09-26 83 views
0

我有一个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来做到这一点?

+0

我想你应该留在1-2pm,下午2-3点,3-4pm等别的要复杂得多,不会大大增加准确性(更可能根本不会增加准确性) – 2014-09-26 08:55:04

+0

好主意 - 它会使它更简单。 – Greg 2014-09-26 08:56:48

回答

0

认为这是表结构:

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; 
+0

谢谢 - 这似乎是工作。只需要检查数据:) – Greg 2014-09-26 08:57:08