3
我有一个包含START_DATE和END_DATE列的表。SQL:平均每小时,在几次之间,几天之内
我想检索这些时间戳之间每个小时的平均时间差,但只能在上午9点到下午6点之间,在过去几天的过程中。我想输出看起来像这样:
elapsed hour
-------------
2.5 11 <--today at 11AM
1.7 10
2.4 9
1.9 18 <--this is yesterday
2.4 17
4.0 16
我相信我是相当接近,但我不能让代码工作。以下是我有:
SELECT
TRUNCATE(AVG(TIME_TO_SEC(TIMEDIFF(END_DATE, START_DATE))/60), 2) as elapsed,
EXTRACT(HOUR FROM END_DATE) as hour
FROM
TIME_INFO
WHERE
EXTRACT(HOUR FROM END_DATE) BETWEEN 9 AND 18 AND
DATE(END_DATE) > CURDATE() - INTERVAL 3 DAY
GROUP BY
EXTRACT(HOUR FROM END_DATE)
ORDER BY
END_DATE DESC
这是接近的,但只返回我从三天前,而不是跨天要像我想。我使用MySQL 5.0,任何人有任何想法?
是的,这并获得成功。如果我继续得到这样的好建议,我会最终找出SQL!非常感谢。 – Yottagray 2011-03-25 20:59:49