我有一个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 :(得分: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;