如何每小时拆分记录以将其显示为图表?

时间:2010-04-20 18:06:07

标签: php mysql charts

我有一个这样的SQL表:sales(product,timestamp) 我想使用Open Flash Chart显示图表,但我不知道如何获得过去12小时内每小时的总销售额。 (时间戳列是销售日期)

通过示例,我将得到一个这样的数组:array(12,5,8,6,10,35,7,23,4,5,2,16)每个数字是每小时的总销售额。

注意:我想使用php或仅使用mysql。

由于

3 个答案:

答案 0 :(得分:5)

SELECT HOUR(timestamp),COUNT(*)
FROM sales
WHERE timestamp >= DATE_SUB(NOW(),INTERVAL 12 HOUR)
GROUP BY HOUR(timestamp)

答案 1 :(得分:4)

SQL是

SELECT HOUR(timestamp), COUNT(product)
FROM sales
ORDER BY HOUR(timestamp)

循环结果以使其进入数组。

编辑:应用请求的unix时间戳的条件

SELECT HOUR(timestamp), COUNT(product)
FROM sales
WHERE timestamp >= UNIX_TIMESTAMP(DATE_SUB(NOW(),INTERVAL 12 HOUR))
ORDER BY HOUR(timestamp)

答案 2 :(得分:0)

一些伪代码:

foreach timestamp
  use date('G',timestamp) to get hour
  increment array value using the hour as key

这些方面的东西。注意时区。