我有一个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;