我有一个MySQL查询,我正在计算在任何给定小时内(在任何给定日期等),在15分钟内为用户预订了多少次呼叫时间间隔。因此,到目前为止,我有:使用MySQL计算每个时间间隔内的记录数
SELECT
date_action,
DATE_FORMAT(date_action, "%i") AS minute,
CASE
WHEN minute(date_action) BETWEEN 0 and 14 THEN '00'
WHEN minute(date_action) BETWEEN 15 and 29 THEN '15'
WHEN minute(date_action) BETWEEN 30 and 44 THEN '30'
WHEN minute(date_action) BETWEEN 45 and 59 THEN '45'
END AS intervals
FROM
clients
WHERE
HOUR(date_action) = 09
AND DAY(date_action) = 15
AND MONTH(date_action) = 07
AND YEAR(date_action) = 2013
这非常适用,因为它不过是神奇的成分,我缺少的是一个分配给每个区间的呼叫数量的“计数”,因此,例如上面的代码中产生:
Date_time - Minute - Interval
2013-07-15 09:54:24 - 54 - 45
2013-07-15 09:29:32 - 29 - 15
2013-07-15 09:13:33 - 13 - 00
2013-07-15 09:53:53 - 53 - 45
2013-07-15 09:00:49 - 00 - 00
所以,我有我的分钟转换成时间间隔,因为我只想要回1行每个间隔,然后已追加到它在该区间的调用次数的计数列,即
Interval - Count
45 - 2
15 - 1
00 - 2
我觉得我已经撞在这一块砖墙上我的头撞得太久了,所以任何帮助将不胜感激。虽然在查询之后进行了一些后处理,但如果可能的话,我宁愿在SQL中完成所有这些操作。 :)
妈呀,我怎么没有看到这一点。坐在离我的屏幕太近的地方我猜!非常感谢。 :) –