2014-09-26 99 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